Hallo,
ich hab folgendes Problem:
Bei meinem Menü würde ich gern den wrap ändern wenn ein Submenü vorhanden ist.
ce.navi.MainMenu = HMENU
ce.navi.MainMenu {
special = directory
special.value = 35
entryLevel = 0
1 = TMENU
1 {
noBlur = 1
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="MainMenuItem">|</li>
stdWrap.htmlSpecialChars = 1
}
}
2 = TMENU
2 < .1
2 {
wrap = <ul class="MainMenuDropdownBox">|</ul>
NO.wrapItemAndSub = <li>|</li>
}
3 = TMENU
3 < .1
3 {
NO.wrapItemAndSub = <li>|</li>
}
}
Das Menü wie es ist funktioniert ansich einwandfrei.
Nur würde ich gern das
ce.navi.MainMenu.2.wrap
überschreiben, wenn eine 3. ebene vorhanden ist.
Ich weis zwar, dass ich die Wraps der einzelnen Menüpunkte via IFSUB überschreiben kann, aber von IFSUB heraus komme ich leider nicht mehr an das 2.wrap heran.
Jemand eine Idee?
G Hamsta
Ich hab das jetzt Temporär über Javascript und jQuery gelöst indem ich die kindelemente der Menüpunkte Abfrage.
$("li.MainMenuItem").children("ul.MainMenuDropdownBox:has(li > ul)").each(function(){
$(this).addClass("WhiteSpaceNowrap");
});
Hab inzwischen eine Javascriptfreie Lösung gefunden.
Ich versetze mithilfe von Optionsplit den wert der bisher in 2.wrap stand an den anfang der 1. bzw letzten ELements in NO.wrapItemAndSub bzw IFUSB.wrapItemAndSub.
ce.navi.MainMenu = HMENU
ce.navi.MainMenu {
special = directory
special.value = 35
entryLevel = 0
1 = TMENU
1 {
noBlur = 1
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="MainMenuItem">|</li>
stdWrap.htmlSpecialChars = 1
}
}
2 = TMENU
2 < .1
2 {
wrap >|</ul>
NO.wrapItemAndSub = <ul class="MainMenuDropdownBox"><li>|</li>|*|<li>|</li>|*|<li>|</li></ul>
IFSUB = 1
IFSUB < .NO
IFSUB.wrapItemAndSub = <ul class="MainMenuDropdownBox WhiteSpaceNowrap"><li>|</li>|*|<li>|</li>|*|<li>|</li></ul>
}
3 = TMENU
3 < .1
3 {
NO.wrapItemAndSub = <li>|</li>
}
}
wers brauchen kann.. viel Spaß damit o.O lg