Überschriften mit Umbruch in TYPO3
Manchmal erfordert das Screendesign, dass man Überschriften aus den Seitenelementen mehrzeilig darstellt.
Das geht ganz einfach – man muss diesen TypoScript-Code lediglich in das Setup-Feld (auf deutsch “Konfiguration”) eintragen:
// break row in headings (with two hashes as placeholder) lib.stdheader.10 { 1 { split { token = ## cObjNum = 1 |*| 1 |*| 2 1 = TEXT 1.current = 1 1.wrap = |<br> 2 = TEXT 2.current = 1 2.wrap = } } 2.split < .1.split 3.split < .1.split 4.split < .1.split 5.split < .1.split } // no break row in sitemaps tt_content.menu.stdWrap.split < lib.stdheader.10.1.split tt_content.menu.stdWrap.split.1.wrap > tt_content.menu.stdWrap.split.1.noTrimWrap = || |
Nun kann man mit dem Platzhalter “##” einen Umbruch in Überschriften erzwingen.
Da von der split-Anweisung auch die Links bei Überschriften betroffen sind, sollte man als token keine Zeichen verwenden, die in einem Link verwendet werden könnten, also z.B. # (eine Raute) oder _ (Unterstrich): <a target=”_blank” href=”#top” …>
Problematisch wird es, wenn das Überschriften-Feld noch an anderen Stellen auf der Webseite verwendet wird, z.B. im Inhaltselement “Menü/Sitemap”: hier gibt es einen Menü-Typ, der neben dem Seitentiteln auch die Überschrift ausgibt. Die letzten drei Zeilen in dem obigen TypoScript-Code verhindert dies (Herzlichen Dank an Jan Bartels für diese Lösung). Auch bei diversen TYPO3-Erweiterungen, welche die Überschrift ausgeben und diese womöglich direkt aus der Datenbank auslesen, hat man dieses Problem. An diesen Stellen wird der Platzhalter angezeigt, wenn dieser nicht entfernt bzw. ersetzt wird.
Alternativ kann man das Überschriften-Feld auch als Textarea anlegen und die Umbrüche darin durch den HTML-Tag “<br>” ersetzen. Oder aber man trägt den HTML-Code direkt in das Überschriften-Feld ein, in diesem Fall muss man aber verhindern, dass dieser sichtbar ausgegeben wird:
lib.stdheader.10.setCurrent.htmlSpecialChars >
