Texte mit parseFunc.short automatisch ersetzen
Motivation
Oft gibt es auf einer Website Texte oder einzelne Wörter, die an mehreren Stellen vorkommen. Hier bietet es sich an, diese Texte an einer zentralen Stelle zu speichern und ihnen ein frei wählbares Kürzel zuzuweisen. Diese Kürzel können dann quasi als Platzhalter in den Inhaltselementen der gesamten Website verwendet und automatisiert ersetzt werden.
Beispiel
Ein praktisches Beispiel für die Verwendung von solchen Kürzeln finden Sie auf dieser Seite: Die Überschriften "Motivation", "Beispiel" und "Best Practice" sind in Wirklichkeit die Platzhalter "MOTIVATION", "EXAMPLE" und "BEST_PRACTICE".
Hier sind es nur einfache Begriffe, es lassen sich auf diese Weise aber auch URLs, ganze Textabschnitte oder HTML-Tags (z.B. <img src> Tags für Bilder) ersetzen.
Best Practice
Durch die zentrale Speicherung der Texte und ihrer Platzhalter hat man die Möglichkeit, die Texte einfach modifizieren zu können. Beispielsweise könnte man den Platzhalter "EXAMPLE" ändern in "Fallbeispiel" und der Text wäre in allen Elementen, die das Kürzel verwenden, geändert. Man simuliert dadurch in gewisser Weise die Funktion "suchen und ersetzen" in TYPO3.
Wie und wo legt man Kürzel an?
Dies geschieht mit einem Eintrag der parseFunc.short Funktion (TEXT cObject) im Bereich des PAGE-Objektes (hier: "page") in einem TypoScript-Template:
# Sprache 0: Deutsch (Standard) page.stdWrap.parseFunc.short { # einfacher Text EXAMPLE = Beispiel # baseUrl unserer Website (Konstante aus CONSTANTS) BASE_URL = {$baseUrl} # <a href> Tag URL_PARTNER = <a href="http://www.partneragentur.de">Partneragentur</a> } # Sprache 1: Englisch [globalVar = GP:L=1] page.stdWrap.parseFunc.short { EXAMPLE = example BASE_URL = {$baseUrl} URL_PARTNER = <a href="http://www.partneragency.com">partner agency</a> } [global]
Wie Sie sehen können, sind verschiedene Zuweisungen möglich (einfache Texte, TypoScript Konstanten, HTML-Tags etc.). Selbstverständlich können mit Conditions auch Übersetzungen für verschiedene Sprachen definiert werden.
Nehmen wir nun einen beispielhaften Text, der die oben definierten Platzhalter enthält:
Original-Text mit Platzhaltern
Das ist ein EXAMPLE für die automatische Ersetzung von Platzhaltern mit der parseFunc.short Funktion: Die baseUrl unserer Website ist BASE_URL und hier folgt ein Hyperlink zu unserer URL_PARTNER.
Bei Verwendung der oben definierten Kürzel wird dieser Text folgendermaßen ersetzt:
Text nach dem Parsen mit parseFunc.short
Das ist ein Beispiel für die automatische Ersetzung von Platzhaltern mit der parseFunc.short Funktion: Die baseUrl unserer Website ist http://www.jochen-froehlich.de/ und hier folgt ein Hyperlink zu unserer <a href="http://www.partneragentur.de">Partneragentur</a>.
Tipp
Um versehentliches Ersetzen von z.B. beabsichtigten Abkürzungen zu verhindern, bietet es sich an, seinen Platzhaltern ein eindeutiges Merkmal voranzustellen. Wir verwenden bspw. die Zeichenfolge "S_" (für "short") vor jedem Kürzel.
Weiterlesen
Gib jetzt den ersten Kommentar zu diesem Artikel ab!
Besucher fanden diese Seite unter folgenden Suchbegriffen: