- Startseite
- TYPO3-Tipps
- TYPO3-Wraps
- Nur aktiven Menüpunkt anzeigen
Nur aktiven Menüpunkt anzeigen
Nur den aktiven Menüpunkt anzeigen
Ausgangssituation
Hauptmenü und Untermenü sind getrennt.
Aufgabe
1. Das Untermenü soll nur gewrappt werden, wenn es ein solches gibt.
2. Oberhalb des Untermenüs soll der aktive Hauptmenüpunkt ausgegeben werden.
Lösung
[treeLevel = 0] [else] temp.hmenue-akt = HMENU temp.hmenue-akt { entryLevel = 0 special = directory special.value = {$const_start} 1 = TMENU 1 { noBlur = 1 NO.wrapItemAndSub = <!-- | --> CUR { ATagTitle.field = abstract // description // title wrapItemAndSub = <p class="aktiv">|</p> } CUR = 1 ACT < .CUR ACT = 1 } } temp.umenue = HMENU temp.umenue { entryLevel = 1 1 = TMENU 1.noblur = 1 1.NO { linkWrap = | wrapItemAndSub = <li>|</li> ATagTitle.field = abstract // description // title } 1.ACT < 1.NO 1.ACT.wrapItemAndSub = <li class="aktiv">|</li> 1.ACT = 1 2 < .1 2.wrap = <ul>|</ul> } lib.umenue.10 < temp.hmenue-akt lib.umenue.20 < temp.umenue lib.umenue.20.stdWrap { wrap = <ul>|</ul> required = 1 } [end]
Bedeutung der Konstante
{$const_start} = Startwert des Hauptmenüs (PID der Startseite)
1. Untermenü nur ausgeben, wenn es Menüpunkte enthält
Das Untermenü wird zunächst als TEMP-Objekt und dann dem LIB-Objket zugewiesen.
Die Anweisung required = 1 (gegen Ende des Listings) erlaubt den Wrap mit UL-Tag nur, wenn das TEMP-Objekt Daten enthält.
2. Nur den aktiven Hauptmenüpunkt ausgeben
Sicher gibt es dafür mehrere Möglichkeiten. Die erste Variante, die uns eingefallen ist, besteht darin, die normalen Hauptmenüpunkte als Kommentar auszugeben. Der aktive Menüpunkt wird in diesem Beispiel in ein P-Tag eingeschlossen (temp.hmenue-akt ...).
Über die TYPO3-Erweiterung sourceopt können Kommentare im BODY-Bereich bequem unterdrückt werden.