Textkürzen leicht gemacht

von Hannes am 19.11.2010 in My Modx mit 0 Kommentaren

Truncate Snippet

Introtexte sind wertvoll, soll eine Ressource schlagkräftig eingeleitet werden. Es kann ab und an passieren, dass trotzdem der Introtext etwas zulang gerät und nicht mehr gut in eine Liste oder Übersicht passt. Was nun? Hierfür gibt es das Snippet namens "Truncate":

Truncate: Texte abschneiden

Dann lasst uns loslegen. Zunächst müssen wir ein neues Snippet unter "Elemente" mit dem Namen "truncate" anlegen und folgenden Code einfügen:

<?php
/* ----------
parameters:
$what - Text zum Kürzen
$len - Länge des ausgegebenen Textes
   ---------- */
if (strlen($what) > $len) {
$what = preg_replace('/^(.{' . $len . ',}? ).*$/is', '$1', $what);
}
return $what;

Für einen Aufruf gilt das Übliche in Modx. Als Parameter existieren &what=`` und &len=``. Ersteres gibt, was welcher Text denn gekürzt werden soll. Das Zweite gibt an, ab wieviel die Zeichen schluss ist. Der Vorteil dabei ist vorallem: Ein Wort wird nicht einfach mittendrin abgeschnibbelt. Stattdessen geht truncate ein Wort zurück und gibt dieses als Letztes komplett aus. Ein Beispiel soll das Ganze nocheinmal verdeutlich:

[[!truncate? &what=`[[+introtext]]` &len=`90`]]

In diesem Beispiel wird der Introtext von truncate ab 90 Zeichen geschnitten. Wichtig dabei ist, dass in einigen verschachtelten Aufrufen anstatt einem Introtexte sind wertvoll, soll eine Ressource schlagkräftig eingeleitet werden. Es kann ab und an passieren, dass trotzdem der Introtext etwas zulang gerät und nicht mehr gut in eine Liste oder Übersicht passt. Was nun? Hierfür gibt es das Snippet namens "Truncate": ein erscheinen muss, siehe z.B. getResources. That's it!

It's me!

Hannes

Mein Name ist Hannes, in Deutschland lebend, und versuche mich des öfteren zur Zeit an Realisierungen von einfachen und komplexen Websiten mit Modx CMS Lösungen. Die hiesige Seite ist mein Spielplatz, auf der ich mich austobe.

0 Kommentare zu "Textkürzen leicht gemacht"

Hast du etwas zu sagen? Dann ab dafür!