jetzt muss ich doch noch was einflechten.
Bei genauer Betrachtung bin ich von einer falschen semantischen Verschachtelung ausgegangen.
Unser verschachtelte Menü sieht so aus:
Code:
<ul>
<li>...</li>
<li>...</li>
<li>
<ul>
<li>...</li>
<li>...</li>
</ul>
</li>
<li>...</li>
</ul>
Das ist aber falsch, richtig wäre es so:
Code:
<ul>
<li>...</li>
<li>...
<ul>
<li>...</li>
<li>...</li>
</ul>
</li>
<li>...</li>
</ul>
Das heisst, die verschachtelte Liste befindet sich innerhalb eines "benutzten" li-Elements.
Das verlangt etwas Umstricken, vorallen brauchen wir einen neuen Zustand.
Wenn ein Element Unterseiten hat, so kann man den Zustand IFSUB nehmen. Wir zeigen die Unterseiten nur beim aktiven Element, also nehmen wir den Zustand ACTIFSUB
Schauen wir uns die neue Definition des linken Menüs an:
Code:
LINKS = HMENU
LINKS {
special = directory
special.value = 2
entryLevel = 1
1 = TMENU
1.wrap= <ul>|</ul>
1.noBlur = 1
1.NO = 1
1.NO.ATagTitle.field = title
1.NO.linkWrap = <li>|</li>
1.ACT = 1
1.ACT < .NO
#1.ACT.doNotLinkIt = 1
1.ACT.linkWrap = <li id="leftnavi-aktiv">|</li>
1.ACTIFSUB < .ACT
1.ACTIFSUB = 1
1.ACTIFSUB.linkWrap = <li class="leftnavi-aktiv">|
2 < .1
2.wrap = <ul>|</ul></li>
2.ACT.linkWrap = <li id="leftnavi-sub-aktiv">|</li>
}
Wir sehen, das wir den Zustand ACTIFSUB vom ACT kopieren und nur anders wrappen, der li-tag bleibt hinten offen.
Den können bequem in der 2.Ebene wieder schliessen mit 2.wrap (also um die ganze 2.Ebene drumrum)
Wir sehen auch, das es verschiedene wrap-Methoden gibt. Wir werden später uns das noch genauer anschauen, in dem letzten Beispiel hab ich das etwas besser und konsequenter genutzt.
Es ist auch immer wieder schön, wie mir durch das erklären auch noch Unstimmigkeiten auffallen und ich hier endlich meine Menü-Wissenslücke schliessen kann
