Ausklappendes Directory-Menü in TYPO3
Möchte man bspw. ein Menü in TYPO3 von Seiten anlegen, die sich unter einer speziellen Seiten-ID befinden (z.B. in Form einer Metanavigaton, die vom sonstigen Seitenbaum losgelöst ist), so bietet sich der HMENU-Typ "Directory" an.
Ab TYPO3-Version 4.0 erscheinen Seiten, die in der 2. oder 3. Ebene der Navigation liegen, nicht in dem generierten Directory-Menü. Die Kombination eines Directory-HMENU mit der Eigenschaft entryLevel ist nicht zulässig.
Abhilfe schafft ein kleiner Workaround mit Conditions, den ich im TYPO3-Bugtracker entdeckte.
[PIDinRootline = "PID des Menüs"]
temp.metanavigation.special >
temp.metanavigation.entryLevel = "Betreffendes Level"
[END]
Die Einbindung in ein Directory-HMENU könnte folgendermaßen aussehen (ganz unten).
# Metanavigation
temp.metanavigation = HMENU
temp.metanavigation.special = directory
# Die Metanavigation soll bei PID 57 anfangen (Unterseiten inklusive)
temp.metanavigation.special.value = 57
temp.metanavigation.1 = TMENU
temp.metanavigation.1 {
noBlur = 1
# Menüpunkte sollen standardmäßig ausgeklappt werden
expAll = 0
# Normal-Zustand Eigenschaften
NO.wrapItemAndSub =
NO.stdWrap.htmlSpecialChars = 1
# Aktiven Zustand aktivieren und Eigenschaften setzen
ACT = 1
ACT.doNotLinkIt = 1
ACT.wrapItemAndSub =
ACT.stdWrap.htmlSpecialChars = 1
}
# Zweite Ebene Menu-Object, textuell
temp.metanavigation.2 = TMENU
temp.metanavigation.2 {
# Normal-Zustand Eigenschaften
NO.wrapItemAndSub =
NO.stdWrap.htmlSpecialChars = 1
# Aktiven Zustand aktivieren und Eigenschaften setzen
ACT = 1
ACT.doNotLinkIt = 1
ACT.wrapItemAndSub =
ACT.stdWrap.htmlSpecialChars = 1
}
[PIDinRootline = 57]
temp.metanavigation.special >
temp.metanavigation.entryLevel = 1
[END]