Zum Inhalt springen

Menü soll nur eine Ebene zeigen

Erstellt am 28. November 2014 · 3 Antworten · letzte Antwort am 28. November 2014

Tags: TYPO3 4.x, Frage

visiondlx ·

Hallo,

Google konnte mir leider nicht helfen deswegen versuche ich es mal hier.

Ich soll ein Menü anlegen, das immer nur eine Ebene anzeigt.

Im Normalzustand zeigt das Menü oben den Titel der aktuellen Seite und darunter eine Liste der Unterseite.
Bis hierhin kein Problem.

lib.field_subnavigation = COA
lib.field_subnavigation {
	wrap = <ul class="nav-sidebar"><li>|</li></ul>
	10 = TEXT
	10 {
		value = {page:title}
		insertData = 1
	}
	20 = HMENU
	20 {
		wrap = <ul>|</ul>
		special = directory
		1 = TMENU
		1 {
			NO = 1
			NO {
				wrapItemAndSub = <li>|</li>
			}
			ACT < .NO
			ACT {
				wrapItemAndSub = <li class="active">|</li>
			}
		}
	}
}

Wenn eine Seite jedoch keine Unterseiten hat, soll das Menü oben den Titel der übergeordneten Seite zeigen und darunter die Seiten, die auf der gleichen Ebene mit der aktuellen Seite liegen.

Ist das mittels TS überhaupt möglich oder benötige ich zwei unterschiedliche Menüs?

toifel ·

Dazu brauchst du dann wohl wirklich 2 HMENUs.
Im Bezug Usability klingt diese Idee auch äußerst fragwürdig - mich würde es verwirren, wenn auf einer Seite das Menü auf Unterseiten verlinkt und auf der anderen was ganz anderes macht.

visiondlx ·

Danke, das habe ich befürchtet.

Was die Usability angeht:
Die Idee stammt nicht von mir aber die Agentur (mit der ich zum ersten und hoffentlich zum letzten Mal zusammenarbeite) die das Layout entworfen hat hält die Idee für super weil die Navigation ca. 6 Ebenen mit bis zu 25 Unterseiten tief wird und so eine riesige Navigation sieht natürlich nicht gut aus.
Ich würde sagen Konzeption vollständig fehlgeschlagen.

Wool ·

Ich würde da auch ein Klappmenü empfehlen... aber Kundenwunsch ist Kundenwunsch...

versuch es mal mit: special.value.data = page : pid
(= Parent-ID der aktuellen Seite - ohne Leerzeichen vor/nach dem Doppelpunkt! )
wenn das Menü leer ist (Stichwort: ifEmpty)