Hallo...
Es handelt sich hierbei nicht um ein Problem, sondern einfach um die Frage, ob folgendes Menü, das korrekt funktioniert vielleicht zu kompliziert aufgebaut ist.
Gemeint ist folgendes:
Ein verschachteltes Listenmenü muss folgendermaßen aussehen:
<ul>
<li>Menüpunkt 1</li>
<li>Menüpunkt 2</li>
<li>Menüpunkt 3
<ul>
<li>Unterpunkt 1</li>
<li>Unterpunkt 2</li>
</ul>
</li>
<li>Menüpunkt 4</li>
<li>Menüpunkt 5</li>
<li>Menüpunkt 6</li>
</ul>
Also nach dem Motto: Wer ul sagt muss auch li sagen. ;-)
Hauptaugenmerk liegt auf der Tatsache, dass das li von Menüpunkt 3 nicht beendet wird, da nun ein eingeschobenes ul folgt. Erst nachdem dies geschlossen ist muss das li von Menüpunkt 3 geschlossen werden.
Nun habe ich dieses Menü im TS folgendermaßen gelöst.
temp {
MENU = COA
MENU {
10 = IMAGE
10 {
file = fileadmin/index/pic/menue.gif
wrap = |
params = style="vertical-align:top;" title=""
altText = Menü
}
20 = HMENU
20 {
wrap = <ul class="navFirstline">|</ul>
excludeUidList = 562
1 = TMENU
1 {
wrap = |
NO {
RO = 1
allWrap = <li class="First_NO">|</li>
ATagParams = class="First_NO"
after {
cObject = TEXT
cObject {
if.isPositive.dataWrap = {field:newUntil}-{date:U}
value = NEU
wrap = <sup>|</sup>
}
}
}
ACT < .NO
ACT {
allWrap = <li class="First_ACT">|</li>
ATagParams = class="First_ACT"
after < .after
}
ACT = 1
ACTIFSUB < .ACT
ACTIFSUB {
allWrap = <li class="First_ACT">|
ATagParams = class="First_ACTIFSUB"
}
ACTIFSUB = 1
}
2 = TMENU
2 {
wrap = <ul class="navSecondline">|</ul></li>
NO {
allWrap = <li class="Second_NO">|</li>
ATagParams = class="Second_NO"
after {
cObject = TEXT
cObject {
if.isPositive.dataWrap = {field:newUntil}-{date:U}
value = NEU
wrap = <sup>|</sup>
}
}
}
IFSUB < .NO
IFSUB {
ATagParams = class="Second_IFSUB"
}
IFSUB = 1
ACT < .NO
ACT {
allWrap = <li class="Second_ACT">|</li>
ATagParams = class="Second_ACT"
}
ACT = 1
ACTIFSUB < .ACT
ACTIFSUB {
ATagParams = class="Second_ACTIFSUB"
}
ACTIFSUB = 1
}
}
30 < .10
30 = IMAGE
30 {
file = fileadmin/index/pic/ende2.gif
altText =
}
}
}
Das funktioniert wie gewollt.
Ich bin mir nun nicht so sicher, ob ich das etwas kompliziert gelöst habe.
Man schaue nach Zeile 42 im Zustand ACTIFSUB. Dort fehlt im allWrap das schließende </li> und wird stattdessen in Zeile 50 im wrap der 2. Menüebene wieder hinzugefügt.
Also wie gesagt. Die Ausgabe ist korrekt. Doch Frage ist, oder ob das auch einfacher geht, ob das eine normale Vorgehensweise ist.