Der folgende Code ist ein funktionierendes Beispiel von meinem aktuellen Projekt:
lib.hauptmenu {
special = directory
special.value = 7
wrap = <ul class="hauptmenu">|</ul>
1 = TMENU
1 {
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = type="button" data-toggle="dropdown"
}
}
2 < .1
2 {
wrap = <ul class="dropdown-menu fullwidth">|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
}
}
Die Frage:
Was genau ist da das TMENU und was das TMENUITEM.
Z.b.: Ist der wrap in lib.hauptmenu.2 jetzt Teil des MENU oder des ITEMS ?
Ich würde sagen auf das MENU, da nur das TMENUITEM Zugriff auf stdWrap.wrap hat.
Aber wieso direkt - also nicht lib.hauptmenu.2.stdWrap.wrap?
Dir fehlt da noch eine Zeile zum Verständnis:
lib.hauptmenu = HMENU
Das HMENU definiert was im Menü gezeigt werden soll (hier als Spezialfall der Inhalt eines Directories). Das HMENU hat auch direkt die wrap-Eigenschaft (und anschließend auch stdWrap).
Das TMENU definiert für eine Ebene Details zur Darstellung. Alternativen wären GMENU, JSMENU).
Das TMENUITEM legt schließlich fest, wie ein einzelner Menüeintrag sich verhalten soll. Dabei wird nochmal nach den Zuständen (NO, ACT, CUR etc) unterschieden.
Vielen Dank für die Erklärung.
Ich dachte innerhalb eines Elements (hier: lib.hauptmenu.2) steht nur das zur Verfügung was das Element selber mitbringt.
Also ist das
lib.hauptmenu = HMENU
lib.hauptmenu {
special = directory
special.value = 7
wrap = <ul class="hauptmenu">|</ul>
...
}
Teil vom HMENU,
das
1 = TMENU
1 {
expAll = 1
...
}
...
}
Teil vom TMENU
und das dann schließlich
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = type="button" data-toggle="dropdown"
}
...
das TMENUITEM.
Hab ich beides richtig Verstanden?
getit schriebIch dachte innerhalb eines Elements (hier: lib.hauptmenu.2) steht nur das zur Verfügung was das Element selber mitbringt.
Ja. Aber - um auf die ursprüngliche Frage nochmal zu kommen - TMENU hat direkt wrap-Eigenschaft (interessanterweise hier erst nach stdWrap, also andersrum als beim HMENU)
getit schriebHab ich beides richtig Verstanden?
Ich denke ja 🙂