Ergebnis 1 bis 6 von 6

Thema: ERLEDIGT! oveleon/recommendation-bundle: Mehr lesen erscheint nicht?

  1. #1
    Contao-Nutzer
    Registriert seit
    22.06.2009.
    Beiträge
    178

    Standard ERLEDIGT! oveleon/recommendation-bundle: Mehr lesen erscheint nicht?

    hallo, ich benutze die Erweiterung "contao-recommendation-bundle" und in der Bewertungsliste werden auch 5 von über 30 Bewertungen angezeigt. Teilweise sind in den Bewertungen ziemlich lange Texte enthalten. Gibt es eine Möglichkeit, diese zu kürzen und mit dem Link "mehr lesen" zu dem Bewertungsleser zu gelangen?
    Im Template ist die Funktion implentiert:
    Code:
    <?php if ($this->allowRedirect): ?>
          <p class="more"><?= $this->more ?></p>
    <?php endif; ?>
    Geändert von strich-sieben (31.03.2022 um 10:18 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    22.06.2009.
    Beiträge
    178

    Standard

    nachdem ich das Forum noch ein wenig durchstöbert habe, bin ich auf einen Beitrag mit einem ähnlichen Problem gestoßen und konnte mit der Templateänderung
    Code:
    <?= \Contao\StringUtil::substr($this->text, 160) ?>
    den Text kürzen.

  3. #3
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    160
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von strich-sieben Beitrag anzeigen
    Code:
    <?= \Contao\StringUtil::substr($this->text, 160) ?>
    Diese Variante kürzt allerdings ziemlich streng. Vielleicht wäre hier besser eine Variante, welche den Text erst nach einem Leerzeichen o.ä. abschneidet.

    Code:
    $string = preg_replace("/[^ ]*$/", '', substr($string, 0, $length));
    Quelle


    Besteht das Problem mit dem "Mehr lesen" noch, oder hat sich das inzwischen auch geklärt?

    LG Doi

  4. #4
    Contao-Nutzer
    Registriert seit
    22.06.2009.
    Beiträge
    178

    Standard

    Hallo Doi,
    vielen Dank für den Code, hatte sowas ähnliche auch schon gefunden: http://floern.com/webscripting/text-k%C3%BCrzen

    Tue mich allerdings mit dem Einbinden etwas schwer und bekomme es nicht hin. Allerdings ist es momentan auch so, dass nicht mitten im Wort abgeschnitten wird. Den Link zur Weiterleitung auf den Reader erscheint jetzt auch.

  5. #5
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    160
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Müsste m.E. wie folgt aussehen (ungetestet):
    Code:
    <?= preg_replace("/[^ ]*$/", '', substr($this->text, 0, 160)) ?>
    Und mit deinem Beispiel:
    Code:
    <?php 
    $text = $this->text;
    
    // Die maximale Länge in Bytes der gekürzten Version
    $maxlen = 160;
    
    if(strlen($text) > $maxlen){
      $text = substr($text, 0, $maxlen);
      $text = preg_replace('#[^\s]*$#s', '', $text) . '...';
    }
    
    echo $text;
    ?>
    Aber wenn es bereits funktioniert, ist ja super

  6. #6
    Contao-Nutzer
    Registriert seit
    22.06.2009.
    Beiträge
    178

    Standard

    Hallo Doi,

    das ist ja super, vielen Dank für die Hilfe. Habe es getestet, es funktioniert mit beiden Codes. Habe nun die erste - kürzere - Variante implentiert und mit den Punkten erweitert:
    Code:
    <?= preg_replace("/[^ ]*$/", '', substr($this->text, 0, 160)) . '...' ?>

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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