Hallo Leute,
wie hier und da gesehen kann man ein Menü schön in zwei Teile aufteilen. Nun habe ich ein Design wo das Menü in drei Spalten aufgeteilt werden muss und schaffe es leider nicht den bestehenden Code-Schnipsel so umzuschreiben, dass drei Spalten angezeigt werden.
tt_content.menu.20 >
tt_content.menu.20 = COA
tt_content.menu.20 {
1 = HMENU
1.special = directory
1.special.value.field = pages
1.1 = TMENU
1.1.wrap = <ul>|</ul>
1.1 {
NO {
stdWrap.cObject = COA
stdWrap.cObject {
10 = TEXT
10.field = title
if.value.data = register:count_HMENU_MENUOBJ
if.negate = 1
if.isLessThan.prioriCalc=1
if.isLessThan.cObject=TEXT
if.isLessThan.cObject.insertData=1
if.isLessThan.cObject.value = ({register:count_menuItems}+1)/3
wrap = <li>|</li>
}
}
CUR < .NO
CUR = 1
CUR.stdWrap.cObject.wrap = <li class="active">|</li>
}
2 < .1
2.1.wrap = <ul>|</ul>
2.1.NO.stdWrap.cObject.if.negate >
2.1.CUR.stdWrap.cObject.if.negate >
}
Versucht habe ich mit
3 < .1
3.1.wrap = <ul>|</ul>
3.1.NO.stdWrap.cObject.if.negate >
3.1.CUR.stdWrap.cObject.if.negate >
Dann bekomme ich zwar drei Spalten, jedoch werden die Navigationspunkte nicht richtig aufgeteilt, sondern nur wiederholt.
Hast Du inzwischen eine Lösung gefunden? Wäre toll,w enn Du diese hier posten könntest, damit andere sie auf der verzweifelten Suchen finden könnten.
Danke.
Ja, ich hab's zwar gelöst aber nicht wirklich klever. Das ganze ist recht undynamisch, aber vielleicht hilft's jemanden...
tt_content.menu.20 >
tt_content.menu.20 = COA
tt_content.menu.20 {
1 = HMENU
1.special = directory
1.special.value.field = pages
1.1 = TMENU
1.1.wrap = <ul>|</ul>
1.1.maxItems = 4
1.1 {
NO {
stdWrap.cObject = COA
stdWrap.cObject {
10 = TEXT
10.field = title
10.data = register:count_HMENU_MENUOBJ
wrap = <li>|</li>
}
}
CUR < .NO
CUR = 1
CUR.stdWrap.cObject.wrap = <li class="active">|</li>
}
2 < .1
2.1.wrap = <ul>|</ul>
2.1.begin = 5
2.1.maxItems = 4
2.1.NO.stdWrap.cObject.if.negate >
2.1.CUR.stdWrap.cObject.if.negate >
3 < .1
3.1.wrap = <ul>|</ul>
3.1.begin = 9
3.1.maxItems = 3
3.1.NO.stdWrap.cObject.if.negate >
3.1.CUR.stdWrap.cObject.if.negate >
}
Also irgendwie komme ich bei der Fragestellung von euch nicht klar!
Wie wollt Ihr das Menü denn aufteilen??
Entweder drei Marker ins Template setzen und jedem Marker das entsprechende Menü zuweisen! (entryLevel)
Oder wollt Ihr das Menü an einer stelle im Template, dann einfach die entsprechenden benötigten Menüebenen wie von amaierm im TS ergänzen.
Vielleicht beschreibt ihr nochmal was ihr genau wollt!
Daniel
Ziel ist ein Menü einer Ebene, das aber in drei Spalten aufgeteilt ist.
<div><ul><li>Seite 1</li><li>Seite 2</li></ul></div>
<div><ul><li>Seite 3</li><li>Seite 4</li></ul></div>
<div><ul><li>Seite 5</li></ul></div>
...und das ganze dann so gefloatet, dass wir drei Spalten haben.
Da aber die Anzahl der Menüpunkte variabel sein soll (dafür hat man ja ein CMS), muss eine automatische Splittung in drei Teile erfolgen. Und nachdem solche Darstellungen normal spaltenweise von oben nach unten gelesen werden, fällt das direkte Floaten der Listenelemente als Lösung weg (was ja zeilenweise wäre).
Hätte es nicht besser formulieren können. Danke Julian.
Ich kann euch jetzt keine Lösung nennen, müsste mir auch erstmal gedanken machen! Aber generell hilft mir da immer folgende Fragestellung:
Wie würde ich es denn ohne TYPO3 machen.
Wenn ich mir einmal das ganze als HTML aufgestellt habe, ist die Umsetzung als TS nicht mehr schwierig!!
Daniel
Hallo d.walter.
Das HTML ist kein Problem. Und eine Lösung in PHP hätte ich auch. Problematisch ist aber eben genau die Umsetzung in TS. Knackpunkt ist die exakte Teilung, die mittels Modulo-Rechnung usw. eigentlich kein problem ist. Nur ist da TS nicht so mächtig (zumindest find ich keinen verständlichen Weg zum Ziel).
Viele Grüße
Julian