Zum Inhalt springen

Menü in drei Teile aufteilen

Erstellt am 11. Februar 2008 · 7 Antworten · letzte Antwort am 25. Juni 2008

Tags: Frage

amaierm ·

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.

Julian.​Hofmann ·

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.

amaierm ·

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 >

}
d.​walter ·

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

Julian.​Hofmann ·

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).

d.​walter ·

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

Julian.​Hofmann ·

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