Zum Inhalt springen

Zeilenumbruch GMENU

Erstellt am 15. Mai 2006 · 13 Antworten · letzte Antwort am 26. Juli 2007

Tags: Frage

nugget ·

Hallo Forum,

ich habe ein Problem mit dem automatischen Zeilenumbruch im GMENU. Ich habe es nun soweit das der umbruch funktioniert. nun mein problem ein menupunkt der aus 2 zeilen besteht ist natürlich auch 2 zeilen hoch. bei mir sind die menupunkte die nur aus einer zeile bestehen allerdings auch 2 zeilen hoch, wobei die 2 zeile leer ist wie bekomme ich das hin das die menupunkte die nur eine zeile haben auch nur eine hoch sind?

hier mein TS

temp.MENU = HMENU
temp.MENU.special = directory
temp.MENU.special.value = 1
temp.MENU.entryLevel = 1
temp.MENU.1 = GMENU
temp.MENU.1.NO = 1
temp.MENU.1.NO{
	wrap = |
	XY = 166, [10.h]+10
	
	backColor = #999999
	transparentColor = #999999
	
	5 = IMAGE
	5.file = fileadmin/templates/menu_images/but_no.jpg

	10 = TEXT
	10.text.field = title
	10.fontColor = #000000

	10.fontFile = fileadmin/templates/tahoma.ttf
	10.fontSize = 8
	10.niceText = 1
	10.offset = 55, 9
	10.text.listNum = 0
	10.text.listNum.splitChar = |

	20 < .10
	20.text.listNum = 1
	20.offset = 52,20

		}

vielen dank im voraus

theis ·

hi nugget,

du musst das offset verändern, und zwar so, dass es dynamisch immer in der mitte zentriert ist

ca. so (bin nicht sicher ob es genau so funktioniert)

temp.MENU.1.NO.10.offset = 55, [50+(h/2)]

oder evtl. so

temp.MENU.1.NO.10.offset = 55, [50+(10.h/2)]

50 steht für die hälfte der höhe des Bildes.

propier es mal aus, und sag mir, ob es funktioniert hat, ok?

gruss theis

nugget ·

ich verstehe nicht was das mit dem offset zu tun hat. bist du dir sicher das du das nicht mit XY verwechselst?

Vielleicht hast du auch nicht richtig mein Problem verstanden. hier nochmal ein screenshot wie es im moment ist (bild1)!

Bild: mark.byteaction.de/bsp.jpg Bild: mark.byteaction.de/bsp2.jpg

aussehen soll es wie auf dem zweiten bild

beim letzten menupunkt (kooperationspartner) wird mit hilfe von listNum.splitChar ein automatische Zeilenumbruch erzeugt. leider werden aber alle anderen menupunkte dann auch 2 zeilen hoch obwohl sie nur eine hoch sein sollten.

MfG

theis ·

hi,

ah, jetzt verstehe ich probier es mal so:

temp.MENU = HMENU
temp.MENU.special = directory
temp.MENU.special.value = 1
temp.MENU.entryLevel = 1
temp.MENU.1 = GMENU
temp.MENU.1.NO = 1
temp.MENU.1.NO{
        wrap = |
        XY = 166, [10.h]+[20.h]+10
       
        backColor = #999999
        transparentColor = #999999
       
        5 = IMAGE
        5.file = fileadmin/templates/menu_images/but_no.jpg

        10 = TEXT
        10.text.field = title
        10.fontColor = #000000

        10.fontFile = fileadmin/templates/tahoma.ttf
        10.fontSize = 8
        10.niceText = 1
        10.offset = 55, 9
        10.text.listNum = 0
        10.text.listNum.splitChar = |

        20 < .10
        20.text.listNum = 1
        20.offset = 52,20
        20.if.isTrue=1


                }

geändert habe ich
- XY
- und eine neue Zeile eingefügt: (20.if.isTrue= 1)

sag bescheid, wenn es funktioniert.

gruss theis

nugget ·

sieht schon sehr gut aus! auch ohne die zeile:

20.if.isTrue=1

Diese bewirkt irgendwie gar nix!

Es hängt jetzt nur noch an der Zeile

XY = 166, [10.h]+[20.h]+10

ein zweizeiliger Menupunkt ist nun 37px hoch (sollte nur 29px hoch sein)
und ein einzeiliger Menupunkt ist nun 22px hoch (sollte nur 11px hoch sein)

kannst du mir die XY Zeile noch mal genau erklären also was da genau passiert ich raff das net mit den klammern :o . wie sieht man wie hoch ein menu tatsächlich ist?

theis ·

also, dass mit den eckigen klammern ist so:

[20.h]

schaut bei der generierung des bildes nach, wie hoch das "unterlayer" 20 des bildes ist und zählt diese somit zur gesamtgrösse des ganzen bildes hinzu.

wenn ein einzeiliges bild nur 11px hoch sein soll solltest du es ca so machen:

XY = 166, 11+[20.h]

somit wäre das bild 11px hoch und wenn es noch eine zweite zeile gibt, zählt es zu den 11px noch die höhe des zweiten bildelementes hinzu, was dann einen wert so gegen die 20px ergeben wird, je nachdem, was für eine schriftgösse du gewählt hast.

wenn du nun für ein zweizeiliges bild immer eine grösse von 22px haben möchtest musst du typo3 austricksen indem du ein drittes layer hinzufügst, welches dann eine schrift in der mit den noch benötigten pixel beinhaltet ca. so:

temp.MENU = HMENU
temp.MENU.special = directory
temp.MENU.special.value = 1
temp.MENU.entryLevel = 1
temp.MENU.1 = GMENU
temp.MENU.1.NO = 1
temp.MENU.1.NO{
        wrap = |
        XY = 166, 11+[20.h]+[30.h]
       
        backColor = #999999
        transparentColor = #999999
       
        5 = IMAGE
        5.file = fileadmin/templates/menu_images/but_no.jpg

        10 = TEXT
        10.text.field = title
        10.fontColor = #000000

        10.fontFile = fileadmin/templates/tahoma.ttf
        10.fontSize = 8
        10.niceText = 1
        10.offset = 55, 9
        10.text.listNum = 0
        10.text.listNum.splitChar = |

        20 < .10
        20.text.listNum = 1
        20.offset = 52,20
        20.if.isTrue=1

        30 < .20
        20.text.listNum = 1
        20.fontSize = 3
        20.offset = 500,500
        20.if.isTrue=1
}

gruss theis

nugget ·

danke erstmal sieht schon mal sehr gut so aus wie es nun ist. ich hab nur deine XY zeile übernommen jetzt passt es sehr gut.

sieht jetzt so aus:
Bild: mark.byteaction.de/bsp3.jpg

jetzt fehlt nur noch ein abstand zwischen den einzelnen menupunkten damit es so aussieht wie hier:
Bild: mark.byteaction.de/bsp2.jpg

temp.MENU = HMENU
temp.MENU.special = directory
temp.MENU.special.value = 1
temp.MENU.entryLevel = 1
temp.MENU.1 = GMENU
temp.MENU.1.NO = 1
temp.MENU.1.NO{
	wrap = |
	XY = 166, 11+[20.h]

	backColor = #999999
	transparentColor = #999999
	
	5 = IMAGE
	5.file = fileadmin/templates/menu_images/but_no.jpg

	10 = TEXT
	10.text.field = title
	10.fontColor = #333333

	10.fontFile = fileadmin/templates/lte50146.ttf
	10.fontSize = 10
	10.niceText = 0
	10.offset = 55, 10
	10.text.listNum = 0
	10.text.listNum.splitChar = |

	
        20 < .10
        20.text.listNum = 1
        20.offset = 54,22
		}

Vielen Dank nochmal für deine Hilfe

theis ·

das würde ich mit css machen so a la

wenn folgendes dein quellcode ist:

<div class="menu">
  <a href=""><img src="123" alt="" /></a>
  <a href=""><img src="124" alt="" /></a>
  <a href=""><img src="125" alt="" /></a>
</div>

dann

div.menu img {
margin-bottom:200px;
}

gruss theis

nugget ·

oohhh man darauf hätte ich auch mal kommen können ich habs die ganze zeit über typoscript versucht und damit ist es wirklich umständlich! #angry#

sehr gut danke schön 😃

n00k ·

Hallo zusammen,

das mit dem Zeilenumbruch klappt ja wunderbar im Menü, wie stelle ich es aber nun an, dass der Pipe "|" nicht in meiner Brotkrumen-Navi und im Seitentitel erscheint?

LG Felix

n00k ·

zu 1:
was meinst du mit dem Wrap, meinst du bei SplitChar einfach nichts angeben, oder wo? Weil bei SplitChar muss ich ja auf jeden Fall was angeben.

zu 2:
die parseFunc habe ich gestern zusammen mit dem short aufgegriffen, aber irgendwie hats nicht hingehauen, ich habe bestimmt was wesentliches vergessen. Ne gute Anleitung was man genau angeben muss, hab ich leider auch nicht gefunden.
Werde es grad nochmal durchwühlen und hoffen.

Danke schonmal für deinen Post.

theis ·

Super, das es geklappt hat.

Vielen Dank für deinen Endpost mit dem Link, das wird sicher anderen, welche ein ähnliches Problem haben auch weiterhelfen.

Gruss Theis