Ergebnis 1 bis 17 von 17

Thema: Zeichen begrenzen

  1. #1
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard Zeichen begrenzen

    Hallo,
    ich möchte beim Produkttitel und beim Teasertext nur eine bestimmte Anzahl von Zeichen zulassen und dann ein "..." anfügen.

    Wie kann ich dies für die Produktliste umsetzen?

    Danke

    Grüße
    Matu
    Viele Grüße aus Köln
    Matu

  2. #2
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Das kannst du einfach im Listen Template machen.

    Benutze dazu einfach die PHP Funktion substr().

    PHP-Code:
    echo substr $deinteaser 080 ) . "..."
    Hab leider grad keine Zeit die "echten" Variablen rauszusuchen

    Gruß
    Nikolas

  3. #3
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oder verwende die durch das Contao-Framework bereitgestellte Methode "substr" aus der "String"-Klasse.

    Vorteil: Keine harte Trennung der Wörter!
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  4. #4
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Computer

    Zitat Zitat von xchs Beitrag anzeigen
    Oder verwende die durch das Contao-Framework bereitgestellte Methode "substr" aus der "String"-Klasse.

    Vorteil: Keine harte Trennung der Wörter!
    Noch besser

  5. #5
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Danke, das ging flott !

    Jetzt müsste ich nur warten, bis mir jemand einen passenden Code-Schnipsel postet.
    Bin kein Programmierer...
    Viele Grüße aus Köln
    Matu

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Welches Template kommt denn bei Dir für die Produktliste zum Einsatz?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Es ist das iso_list_default.html5.
    Viele Grüße aus Köln
    Matu

  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Also das Template hier: https://github.com/isotope/core/blob..._default.html5

    Versuch mal die folgenden Änderungen:

    Zeile 6:
    PHP-Code:
    <h3><a href="<?php echo $this->href_reader?>" title="<?php echo $this->label_detail?>"><?php echo String::substr($this->name100' …'); ?></a></h3>
    Zeile 12:
    PHP-Code:
    <div class="teaser"><?php echo String::substr($this->teaser300' …'); ?></div><?php endif; ?>
    Alles ungetestet.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Geht leider beides nicht.

    1. Es kommt ein Runtime Error im Frontend, dort wor die h3 steht
    2. Komplett weiße Seite mit Fehler
    Code:
     Parse error: syntax error, unexpected T_ENDIF in /var/www/html/web122/html/templates/iso_list_default.html5 on line 18
    Viele Grüße aus Köln
    Matu

  10. #10
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Kannst Du bitte Dein geändertes Template hier posten?

    Ah und noch was: Welche Contao-Version verwendest Du?
    Geändert von xchs (23.07.2013 um 20:10 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  11. #11
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Code:
    <form action="<?php echo $this->action; ?>" id="<?php echo $this->formId; ?>" name="iso<?php echo rand(); ?>" method="post" enctype="<?php echo $this->enctype; ?>">
    <div class="formbody">
    <input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formSubmit; ?>">
    <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
    
    <h3><a href="<?php echo $this->href_reader; ?>" title="<?php echo $this->label_detail; ?>"><?php echo String::substr($this->name, 100, ' …'); ?></a></h3>
    
    <?php echo $this->images->generateMainImage('thumbnail'); ?>
    
    <?php if ($this->sku): ?>
    <div class="sku"><?php echo $this->sku; ?></div><?php endif; if ($this->teaser): ?>
    
       <div class="teaser"><?php echo String::substr($this->teaser, 300, ' …'); ?></div><?php endif; ?> 
    
    <div class="price"><?php echo $this->price; ?></div><?php if($this->baseprice): ?>
    <div class="baseprice"><?php echo $this->baseprice; ?></div><?php endif; ?>
    <div class="details"><a href="<?php echo $this->href_reader; ?>" title="<?php echo $this->label_detail; ?>"><?php echo $this->label_detail; ?></a></div>
    
    <?php if($this->buttons): ?>
    <div class="submit_container">
      
      
      
      <!-- START: Adding special mark -->
      <?php $arrSpecialMark = deserialize($this->raw['specialmark']); ?>
      <?php if (in_array("new", $arrSpecialMark)): ?>
      <img src="tl_files/aufbau/basics/shop_new.png" />
      <?php endif; ?>
      <?php if (in_array("rebate", $arrSpecialMark)): ?>
        <img src="tl_files/aufbau/basics/shop_sale.png" />
      <?php endif; ?>
    <!-- END: Adding special mark -->  
      
    <?php if($this->hasOptions): ?>
    <div class="options">
    <?php foreach( $this->options as $arrOption ): echo $arrOption['html']; endforeach; ?>
    </div>
    <?php endif; ?>
    <?php if ($this->useQuantity): ?>
    <div class="quantity_container">
    <label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel; ?>:</label> <input type="text" class="text" id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" value="<?php echo $this->quantity_requested; ?>" maxlength="10" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
    </div>
    <?php endif; ?>
    <?php foreach( $this->buttons as $name => $button ): ?>
    	<input type="submit" class="submit <?php echo $name; ?>" name="<?php echo $name; ?>" value="<?php echo $button['label']; ?>">
    <?php endforeach; ?>
    </div>
    <?php endif; ?>
    
    </div>
    </form>
    Viele Grüße aus Köln
    Matu

  12. #12
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hatte oben im letzten Beitrag noch was hinzugefügt: Welche Contao-Version verwendest Du?

    Für Contao 2.x versuche mal dieses Template:
    PHP-Code:
    <form action="<?php echo $this->action?>" id="<?php echo $this->formId?>" name="iso<?php echo rand(); ?>" method="post" enctype="<?php echo $this->enctype?>">
    <div class="formbody">
    <input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formSubmit?>">
    <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
    <?php $this->import('String'); ?>
    <h3><a href="<?php echo $this->href_reader?>" title="<?php echo $this->label_detail?>"><?php echo $this->String->substr($this->name100' …'); ?></a></h3>

    <?php echo $this->images->generateMainImage('thumbnail'); ?>

    <?php if ($this->sku): ?>
    <div class="sku"><?php echo $this->sku?></div><?php endif; if ($this->teaser): ?>

       <div class="teaser"><?php echo $this->String->substr($this->teaser300' …'); ?></div><?php endif; ?> 

    <div class="price"><?php echo $this->price?></div><?php if($this->baseprice): ?>
    <div class="baseprice"><?php echo $this->baseprice?></div><?php endif; ?>
    <div class="details"><a href="<?php echo $this->href_reader?>" title="<?php echo $this->label_detail?>"><?php echo $this->label_detail?></a></div>

    <?php if($this->buttons): ?>
    <div class="submit_container">
      
      
      
      <!-- START: Adding special mark -->
      <?php $arrSpecialMark deserialize($this->raw['specialmark']); ?>
      <?php if (in_array("new"$arrSpecialMark)): ?>
      <img src="tl_files/aufbau/basics/shop_new.png" />
      <?php endif; ?>
      <?php if (in_array("rebate"$arrSpecialMark)): ?>
        <img src="tl_files/aufbau/basics/shop_sale.png" />
      <?php endif; ?>
    <!-- END: Adding special mark -->  
      
    <?php if($this->hasOptions): ?>
    <div class="options">
    <?php foreach( $this->options as $arrOption ): echo $arrOption['html']; endforeach; ?>
    </div>
    <?php endif; ?>
    <?php 
    if ($this->useQuantity): ?>
    <div class="quantity_container">
    <label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel?>:</label> <input type="text" class="text" id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" value="<?php echo $this->quantity_requested?>" maxlength="10" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
    </div>
    <?php endif; ?>
    <?php 
    foreach( $this->buttons as $name => $button ): ?>
        <input type="submit" class="submit <?php echo $name?>" name="<?php echo $name?>" value="<?php echo $button['label']; ?>">
    <?php endforeach; ?>
    </div>
    <?php endif; ?>

    </div>
    </form>
    Hast Du – außer den beiden von mir weiter oben genannten – noch weitere Änderungen am Template vorgenommen?
    Geändert von xchs (23.07.2013 um 20:26 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  13. #13
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Ich verwende Contao 2.11.6 und Isotope 1.4.4.

    Diesen Block habe ich noch ins Template gesetzt (Ausgabe in der Liste als Neu oder Sale):

    Code:
    <!-- START: Adding special mark -->
      <?php $arrSpecialMark = deserialize($this->raw['specialmark']); ?>
      <?php if (in_array("new", $arrSpecialMark)): ?>
      <img src="tl_files/aufbau/basics/shop_new.png" />
      <?php endif; ?>
      <?php if (in_array("rebate", $arrSpecialMark)): ?>
        <img src="tl_files/aufbau/basics/shop_sale.png" />
      <?php endif; ?>
    <!-- END: Adding special mark -->
    Viele Grüße aus Köln
    Matu

  14. #14
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Super, jetzt funzen beide Änderunegn, vielen Dank !
    Viele Grüße aus Köln
    Matu

  15. #15
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Funktioniert es auch noch, wenn Du die Zeile 5
    PHP-Code:
    <?php $this->import('String'); ?>
    entfernst?

    Falls ja, steht die "String"-Klasse bereits zur Verfügung und braucht demnach nicht nochmals extra importiert zu werden.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  16. #16
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Nein, dann geht es nicht mehr...
    Viele Grüße aus Köln
    Matu

  17. #17
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Okay, alles klar. Dann muss die Zeile <?php $this->import('String'); ?> also wieder ins Template rein.

    Die Anzahl der Zeichen für die Überschrift ("100") bzw. den Teaser ("300") kannst Du natürlich so anpassen wie Du es gerne hättest. Aber das wusstest Du bestimmt schon.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •