In einem TYPO3 Projekt bestand die Anforderung, eine individuelle Schriftart, die keine Systemschrift ist, für jegliche Überschriften zu verwenden. Ganz klar: das ist eine unproblematische Aufgabe für den GifBuilder. Jedoch wurde für die tt_news Beiträge ein etwas anderes Layout gefordert. Die Überschrift sollte sich nicht über die ganze Seite, sondern nur über einen Teil der Seite erstrecken und automatisch umbrechen. Mein erster Lösungsansatz bestand darin, dass der Redakteur ein bestimmtes Sonderzeichen verwendet, um manuell den Zeilenumbruch zu kennzeichnen. Per TypoScript hätte man dann per stdWrap Funktion split eine Trennung herbeigeführt. Diese Lösung ist für den Redakteur umständlich und verwirrend. Das zu verwendende TypoScript ist relativ statisch.
Bei einer Recherche nach einer eleganteren Lösung stößt man irgendwann unweigerlich auf den TYPO3 Bugtracker bzw. den Forge Eintrag „Integrate automatic line breaks in GIFBUILDER“. Dort wird ersichtlich, dass seit TYPO3 4.3.0 u.a. zwei neue Eigenschaften für das TEXT Objekt des GifBuilders zur Verfügung stehen. Die beiden Eigenschaften werden genauer in der TSRef beschrieben.
Die Eigenschaft breakWidth ist vom Typ Integer. Sie definiert die maximale Länge des TEXT Objekts. Überstehende Elemente erzeugen einen automatischen Umbruch. Die Eigenschaft breakSpace ist vom Typ Float. Sie ist ein Wert, der mit der Zeilenhöhe des aktuellen Elements multipliziert wird. Diese Eigenschaft kann man sich bspw. als Zeilenabstand vorstellen, wie man es aus Schreibprogrammen kennt (z.B. 1,5facher Zeilenabstand). breakSpace ist mit dem Wert 1.0 vorbelegt.
Ein Minimalbeispiel sähe wie folgt aus.
temp.renderHeadline = IMAGE temp.renderHeadline { file = GIFBUILDER file { XY = [10.w]+10, [10.h]+20 10 = TEXT 10 { text = Das ist ein ganz langer Text, der ganz sicher umbricht. backColor = #ffffff fontSize = 15 fontColor = #999999 offset = 5, 15 breakWidth = 100 breakSpace = 1.5 } } } |
Ein Beispiel für die Funktionsweise findet ihr auf der Seite Partisan Vodka.