Hallo zusammen
Bei einem Kunden habe ich ein GMENU mit rechts ausgerichteter Schrift erstellt. Soweit kein Problem. Aber sobald der "title" einen Leerschlag enthält versaut es mir diesen Menüpunk.
Bsp:
http://www.wymsecuritysystems.ch/Zentralen.34+M5c50842c46a.0.html
Mein TS für das Menü (3. Level / Effekt trifft aber bei allen Leveln auf):
temp.menu1.3 = GMENU
temp.menu1.3.noBlur = 1
temp.menu1.3 {
NO {
wrap = |<br /> |*| |<br /> |*| |<br /><img src="clear.gif" width="1" height="10" alt="space" /><br />
XY = 250, 15
backColor = #ffffcc
transparentBackground = 1
5 = IMAGE
5.file = fileadmin/templates/images/btn_sub2_up.gif
5.align = right
5.offset = -58 ,5
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/templates/arial.ttf
10.fontSize = 11
10.fontColor = #F56116
10.iterations = 2
10.offset = -70, 11
10.align = right
10.antiAlias = 1
}
RO < .NO
RO = 1
RO {
5.file = fileadmin/templates/images/btn_sub2_over.gif
20 = BOX
20.dimensions = -70, 13, [10.w], 1
20.color = #F56116
20.align = right
}
ACT < .RO
ACT = 1
ACT {
5.file = fileadmin/templates/images/btn_sub2_down.gif
}
}
Kennt dieses Problem vielleicht jemand und weiss eine Lösung?
Vielen Dank & Gruss
Urs
Ich bin mir auch nicht sicher, aber könnte es an dem wrap in Zeile 5 liegen?
Ich hab auch ein Menü gebaut, dass rechtsbündig ausgerichtet ist (www.i-mine.org) und da hab ich nur ein
wrap = |<*br> (ohne Sternchen)
drin.
Kannst es ja mal testen 🙂
Der wrap kommt um das Bild herum. Sieht nur so komisch aus da ich verschiedene Abstände brauche dafür.
Habe gesehen das du auf genannten Seite eine Image-Map verwendest. Bei mir ist es aber ein Bild pro Menüpunkt.
Lief vorher noch auf einer alten Typo3 version, habe ich aber gestern noch auf 4.0.1 aktualisiert da ich dachte vielleicht ein Bug von Typo3. Aber macht genau das gleiche.
Ich schaue mal in den source code ob ich finde wie das genau generiert wird.
Gruss
Urs
Nun habe ich gefunden was dieses Problem verursacht.
Die PHP-Funktion imagettfbbox() , welche die grösse des Textes im Bild berechnet, gibt nichts zurück wenn der übergebenen Text ein Leerschlag enthält.
Dies passiert (bei mir) auf einem RedHat Enterprise 3 Server mit PHP 4.3.2
Als workaround habe ich mal folgendes gemacht (nicht gerade der super workaround aber erfüllt seinen Zweck):
In der Datei "t3lib/class.t3lib_stdgraphic.php":
function ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $string, $splitRendering, $sF=1) {
.....
// Calculate Bounding Box for part:
$tmpStr = $strCfg['str'];
$strCfg['str'] = str_replace(' ', '.', $strCfg['str']);
$calc = ImageTTFBBox(t3lib_div::freetypeDpiComp($sF*$strCfg['fontSize']), $angle, $fontFile, $strCfg['str']);
if (strstr($tmpStr, ' ')) {
$calc[2] = $calc[2] - 2;
$calc[4] = $calc[4] - 2;
}
.....
Die Zeilen 7-10 können auch weg gelassen werden. Brauchte ich nur für etwas finetuning.
Vielleicht hilfts ja jemandem 😃
Gruss
Urs
Danke für den Lösungsansatz. Gelöste Threads bitte als gelöst markieren.
grüsse