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