

Bei diesem Snippet wird der GIFBUILDER dazu verwendet, eine Grafik zu generieren in der ein mehrzeiliger Text (z.B. Seitentitel) angezeigt wird. Um dies zu erreichen werden listNum und splitChar verwendet. Mit splitChar kann man angeben welches Zeichen (oder Zeichenkette) verwendet werden soll, um den String zerteilen. Mit listNum kann man dann auf die einzelnen Teile des zerteilten Strings zugreifen.
Hier erstellt der GIFBUILDER ein Bild mit der festen Breite 400, die Höhe ist an die Anzahl der Zeilen eingepasst. Folgendes Beispiel ermöglicht das Darstellen eines Seitentitels mit maximal 4 Zeilen. Um in den Seitentitel einen Zeilenumbruch einzufügen, muss man nur ein | in den Titel einfügen. Das Zeichen, das den Zeilenumbruch im GIFBUILDER veranlasst, kann ganz einfach über das splitChar angepasst werden.
lib.getPageTitle = IMAGE lib.getPageTitle.altText.field = title lib.getPageTitle.file = GIFBUILDER lib.getPageTitle.file { XY = 400,[10.h]+[20.h]+[30.h]+[40.h]+20 10 = TEXT 10.text.field = title 10.text.listNum.splitChar=| 10.text.listNum=0 10.fontSize=24 10.fontColor= #333333 10.offset=0,24 10.niceText=1 20 < .10 20.text.listNum=1 20.offset=0,24+[10.h]+6 30 < .10 30.text.listNum=2 30.offset=0,24+[10.h]+[20.h]+12 40 < .10 40.text.listNum=3 40.offset=0,24+[10.h]+[20.h]+[30.h]+18 }
Mehr Informationen gibs in der TSREF
TSREF, stdWrap Funktionen listNum , splitChar




gurß
Eine einfachere alternative wäre evtl den link in den Untertitel zu schreiben und den zu verlinken falls dieser nicht leer ist.
Wenn du interesse hast kann ich das script dementsprechend ändern
Grüße Helmuth
temp.firstheader = COA
temp.firstheader {
10 = IMAGE
10 {
alttext.field = header
file = GIFBUILDER
file {
XY = [10.w],18
backColor = white
10 = TEXT
10 {
text.field = header
text.current = 1
text.listNum.splitChar = 32
text.listNum = 0
text.required = 1
text.noTrimWrap =|| |
offset = 0,14
align = left
fontSize = {$header_fontsize}
fontFile = {$header_font}
fontColor = {$header_color}
niceText = 1
doNotStripHTML = 1
.setCurrent.htmlSpecialChars = 0.htmlSpecialChars = -1
}
}
if.isTrue.field = header
if.isTrue.listNum = 0
if.isTrue.listNum.splitChar = 32
}
20 < .10
20.file.10.text.listNum = 1
20.if.isTrue.listNum = 1
30 < .10
30.file.10.text.listNum = 2
30.if.isTrue.listNum = 2
40 < .10
40.file.10.text.listNum = 3
40.if.isTrue.listNum = 3
...
..
.
(soviele Woerter wie man braucht...)
}
suuuuper extremst vielen dank! hat sehr geholfen...
10.text.field = subtitle // title
folgendes verwenden:
10.text.data = page:subtitle // page:title
Das Problem ist dann die gebrauchte Höhe zu ermitteln. Ich habe es mit Hilfe verstecken Elemente mit fontSize=1 wie folgt hingekriegt:
tempHeader = IMAGE
tempHeader {
altText.field = header
stdWrap.wrap = <h2>|</h2>
file = GIFBUILDER
file {
XY = 800,([15.h]+[25.h]+[35.h]+[45.h])*12
backColor = #ffffff
10 = TEXT
10 {
text.current = 1
text.listNum.splitChar=|
text.listNum=0
fontSize = 18
fontFile = fileadmin/layout/c063006t.ttf
fontColor = #005da8
offset = 0,18
niceText = 1
niceText.scaleFactor = 20
}
20 < .10
20.text.listNum=1
20.offset=0,42
30 < .10
30.text.listNum=2
30.offset=0,66
40 < .10
40.text.listNum=3
40.offset=0,90
15 < .10
15.fontSize = 1
15.hide = 1
25 < .20
25.fontSize = 1
25.hide = 1
35 < .30
35.fontSize = 1
35.hide = 1
45 < .40
45.fontSize = 1
45.hide = 1
}
}
In meiner Typo3 Version 4.5.3 funktioniert allerdings das Überschreiben der Bezeichnungen nicht, aber dafür gibt es andere Methoden falls man es unbedingt braucht.
Vielen Dank!
Add comment