Hi Typo-Comunity,
ich habe ein Problem mit zu langen Menüeinträgen und hoffe, das Ihr mir helfen könnt:
Mein Menü hat eine Breite von 165 Pixeln und eine Höhe von 20 Pixeln. Wenn ich jetzt einen Seitennamen wie z.B. "Ultralangervollkrasser Menüeintrag für ein Beispiel" habe, passt der aufgrund der Länge nicht komplett in das Menügif (was Typo ja automatisch generiert).
Am liebsten wäre mir jetzt folgende Lösung:
Typo erkennt die Länge des Strings. Wenn die Länge größer als 165px ist, soll der Text automatisch umgebrochen werden und dieser Menüeintrag soll dann anstatt 20px Höhe 40px Höhe haben.
Läßt sich das realisieren? Wisst Ihr wie???
Danke schoneinmal
Gruß
Lars
Ich bin zwar kein GMENU - Experte, aber das kann technisch IMHO gar nicht gehen ...
Auf typo3-demo gehts auch nicht: http://demo.typo3.com
Gru? Roland
manuell lässt sich das gestalten.
ich habe allerdings auch noch nicht gesehen bzw. gehört, dass eine automatische erkennung möglich wäre.
falls du doch eine möglichkeit findest, dann bitte auch hier im forum beschreiben 🙂
hier im fourm wurde bereits der manuelle umbruch beschrieben.
mfg
bk
gibts dazu schon was neues? oder bleibt mir nur der weg, die entsprechende graphik vorzufertigen?
Hallo,
ich würde auch gerne wissen, wie man da am besten vorgeht. Selbst, wenn ich im Seitentitel direkt ein < BR > einfüge, klappt der Umbruch nicht.
Gibt es da was neues?
hi vanessa,
typo3 bringt da natürlich ne lösung mit 😃
#5839
oder suche mal nach "splitChar"
Hi,
danke für die Antwort, leider funzt das Beispiel bei mir nicht. Ich habs in mein Menü eingefügt - muss sonst noch was angepasst werden? Ich verstehe die Funktion von splitChar auch noch nicht so ganz, ehrlich gesagt...
Hier noch mal der CODE aus dem Beispiel.
10 = TEXT
10.text.field = header
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontSize = 18
10.fontColor = #888A8C
10.offset = 0, 18
10.text.listNum = 0
10.text.listNum.splitChar = |
10.niceText = 1
20 < .10
20.text.listNum = 1
20.offset = 0,40
30 < .20
30.text.listNum = 1
30.text.case = upper
30.offset = 0,-10
30.fontSize = 22
Hast noch mal nen Tipp für mich?
mit splitChar legst du einfach ein Zeichen fest, bei dessen Vorkommen ein Zeilenumbruch forciert wird. deshalb wird hier meist | genommen, da das normalerweise nicht vorkommt. du musst den menüpunkt natürlich als "ganz langes|Wort" anlegen, damit der Umbruch auch ausgeführt wird.
was hast du denn bei xy zu stehen?
du musst natürlich die maximalhöhe per addition berechnen:
XY = [10.w]+10,[10.h]+[20.h]+15
[10.h]+[20.h]+15 = Höhe 1. Zeile + Höhe 2. Zeile + ein bisschen drumrum
für die erste navi-ebene könnte das dann so aussehen:
marks.Navi = HMENU
marks.Navi.special = directory
marks.Navi.entryLevel = 0
marks.Navi.1 = GMENU
marks.Navi.1 {
useLargestItemX = 0
expAll=0
NO {
XY = [10.w]+10,[10.h]+[20.h]+12
10 = TEXT
10.text.field = header
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontSize = 18
10.fontColor = #888A8C
10.offset = 0, 18
10.text.listNum = 0
10.text.listNum.splitChar = |
10.niceText = 1
20 < .10
20.text.listNum = 1
20.offset = 0,40
30 < .20
30.text.listNum = 1
}
ACT < .NO
ACT = 1
ACT {
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = #888A8C
30.fontColor = #888A8C
}
RO < .NO
RO = 1
RO {
10.fontFile =fileadmin/fonts/verdana.ttf
30.fontColor = #888A8C
}
}
mit offset, fontSize musst du noch rumspielen, um die passende Grösse raus zu finden (vgl. 10.offset und 20.offset! im Verhältnis zur fontSize)
ps: ich hoffe, ich habe keine Klammer vergessen...
Hallo,
mir fehlt scheinbar noch das letzte "Klick"... habe dein Beispiel kopiert, den marker angepasst (benutze den template selector + automaketemplate) und im pagetitle-Feld des zu langen Punktes in der Mitte ein | eingefügt.
Leider ohne Erfolg. Im Frontend wird dann das Pipeline-Zeichen einfach mitgerendert und erscheint in der Grafik.
Was mache ich falsch?
Danke für Hilfe...
ich habe den code jetzt mal bei mir laufen lassen. funkt einwandfrei. allerdings verwende ich nicht template selector + automaketemplate und habe auch keine erfahrung mit den beiden.
vielleicht liegts ja an einem von den beiden. musst du mal eine dummy-seite basteln ohne die beiden (geht ja fix mit bloss einem marker bzw. subpart), gucken (wegen erfolgserlebnis 😃 )
Tja.. anscheinend klappt es wirklich nicht, wenn man den template selector installiert hat. Ich hab jetzt den langen Punkt einfach umbenannt.... nicht schön, aber was soll's.
Falls jemand doch noch eine Lösung findet, ruhig posten...
Danke.
hatte mit dem TS noch ein problem, dass die zweite zeile so fett dargestellt wurde liegt am offset der dritten zeile also folgendes eingeben
30 < .20
30.text.listNum = 1
30.offset = 0,60
viel spass