Pipe Zeichen "|" als Text in TypoScript einsetzen
Author: Ing. Michael Fürst (m.fuerst@bluegate.at)
Web: http://www.bluegate.at
Publiziert: April 2007
Problemstellung
Sie möchten das in TypoScript "reservierte" Pipe-Zeichen zur normalen Textausgabe verwenden.
Lösung
Prinzipiell ist das Pipe Zeichen (|) ein reservierter Platzhalter in TypoScript. Es wird zum Beispiel als Pointer zum wrappen von Texten herangezogen:
headerData.1 = TEXT
headerData.1.field = title
headerData.1.wrap = <title>|</title>
In diesem Beispiel wird der <title> Tag im (X)HTML Code mit der Bezeichnung der aktuell geladenen Seite aufgefüllt. Das Pipe Zeichen gibt hier die Position der Daten aus der Datenbank an. Das Ergebnis sieht dann (im Quellcode) beispielsweise so aus:
<title>Homepage</title>
Angenommen wir möchten jetzt aber zusätzlich den Firmennamen anzeigen und danach erst den Seitentiel, getrennt mit einem Pipe Zeichen, so brauchen wir folgendes Ergebnis im Quellcode:
<title>bluegate communications | Homepage</title>
Möchten wir das in TypoScript definieren, stehen wir vor dem Problem, dass das Pipezeichen ja nicht einfach angeführt werden kann:
headerData.1 = TEXT
headerData.1.field = title
headerData.1.wrap = <title>bluegate communications | |</title>
Dieser Lösungsansatz wird zu keinem zufriedenstellenden Ergebnis führen, da Typo3 natürlich nicht weiß, welches Pipezeichen ein Platzhalter ist und welches als Text ausgegeben werden soll.
Schriftsatz Codierung
Es gibt hier einen recht einfachen Kniff, um dieses Problem zu lösen. Man ersetzt das Pipe-Zeichen einfach durch sein codiertes HTML Equivalent.
| = | ;
Optional kann man auch die Leerräume als geschütztes Leerzeichen (Non-Breaking-Space) notieren. Setzt man die Zeichen um, erhält man folgendes TypoScript, das einwandfrei funktioniert:
headerData.1 = TEXT
headerData.1.field = subtitle//title
headerData.1.wrap = <title>bluegate communications | ; | </title>
HINWEIS: Das Leerzeichen vor dem ; muss natürlich noch entfernt werden.




















