Flexible MARKER im Text
Lassen Sie im Text einen flexiblen Inhalt anzeigen, z.B. den Namen des eingeloggten Users oder ein Datum
MARKER, auch als Platzhalter bezeichnet, werden von vielen bei der Erstellung von Seiten mit HTML-Vorlagen über das cObject Template genutzt. Damit lassen sich bequem generierte Inhalte in eine Vorlage einfügen.
Lesen Sie dazu bitte Moderne Templateerstellung, Teil1
Der Einsatz von Markern kann noch umfangreicher genutzt werden, so das die Pflege von flexiblen Textinhalten (Contents) mit Markern vereinfacht werden kann. Neben den Markern stehen noch andere Möglichkeiten zur Verfügung um Textinhalte flexibel zu halten, ich beschränke mich hier auf Marker.
Marker Einführung
Der Marker ist als Platzhalter zu sehen. Der Marker kann durch einen beliebigen Inhalt ersetzt werden. In TYPO3 werden Maker in ###BELIEBIGER_NAME### eingefasst.
Flexible Marker
Um flexible Marker einsetzten zu können, greife ich auf das cObject TEMPLATE zu. Das erfordert allerdings einige Änderungen im TypoScript. Es gibt eine Alternative mit der TLO constans, allerdings ohne flexibilität.
Marker erstellen
Damit die Marker im Text ersetzt werden, müssen diese erstellt und anschließend einen Wert zugewiesen bekommen.
Damit die Verwaltung der Marker einfach zu erledigen ist, werden die Marker in einem TLO temp angelegt.
Ich habe hier eine TLP temp.marks angelegt, dort werden nun alle Marker angelegt.
Der erste Marker ist USER, den ich das cObject TEXT zuweise und anschließend fülle. Bei dem TypoScript wird der Username ausgegeben, wenn es sich um einen nicht eingeloogten User handelt wird "Gast" ausgegeben.
Testausgabe: Sie sind: ###USER### (diese Ausgabe wurde flexible eingefügt)
CSS Styled Content anpassen
Damit die Inhalte auch als TEMPLATE behandelt werden, muss noch das setup der CSS Styled Content angepasst werden da dort die Inhalte in der Regel als cObject TEXT angelegt werden.
Das bedeutet, das die ganzen Inhaltselemente und evtl. Extensionen die Text beinhalten und in denen Marker zum Einsatz kommen sollen angepasst werden müssen.
Inhaltstyp Text
Die Anpassungen beschränken sich in der Regel auf wenige Zeilen, ich stelle hier aber zur besseren Verdeutlichung die gesamte Definition für den Inhaltstypen Text ein.
Bitte schauen Sie sich zum Vergleich die Orginal Angaben von CSS Styled Content an!
Hier nun das angepasste TypoScript
Wie dem TypoScript zu entnehmen, wird der Inhalt für TEXT nicht direkt gefüllt sondern über ein weiteres cObject das als TEMPLATE definiert ist. Das TLO temp.marks wird in marks kopiert so dass die anfangs angelegten Marker zur Verfügung stehen.
Kurzform des TypoScript, es werden nur die Notwendigen Änderungen neu definiert:
Alternative TLO constants
TYPO3 stellt das Top-Level-Objekt constants zur Verfügung.
Mit constants.MAIL = ihre(at)mail.de werden nun alle ###MAIL### in Ihren Contents ersetzt. constans muss als TLO in ihrem Template definiert werden.
constans ist eine einfache Möglichkeit um Marker in Contents ersetzen zu lassen. Der größte Nachteil ist, das constans keine dynamische Werte annehmen kann. Sie müssen die Inhalte direkt angeben und können nicht auf zur Laufzeit erstellten Werte/Variablen zugreifen, z.B. das aktuelle Datum. Sollen constans auch für andere cObjecte als nur für tt_content zur Verfügung stehen, muss das jeweilige cObject erweitert werden.




