Hoi,
ich habe nun eine Lösung gefunden. Ich finde diese zwar nicht elegant, aber was ein anderer Weg fällt mir nicht ein.
Ich erstelle nun für jeden Punkt auf der Menüeben1 ein eigenes Menü, welches auf eine m Template basiert, und beschränke die anzuzeigenden Elemente.
Menütemplates (Ebene 1 und 2):
temp.TOPNAVI_Template = HMENU
temp.TOPNAVI_Template.special = directory
temp.TOPNAVI_Template.special.value = 4
# Menutemplate Ebene 1 erzeugen
temp.TOPNAVI_Template.1 = TMENU_LAYERS
temp.TOPNAVI_Template.1 {
layerStyle = {$submenu_position.layerStyle}
relativeToTriggerItem = {$submenu.relativeToTriggeritem}
relativeToParentLayer = {$submenu.relativeToParentLayer}
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x
xPosOffset = -24
# Position wo sich die naechste Ebene oeffnen soll (Ebene 2)
relativeToParentLayer=1
relativeToTriggerItem=1
topOffset = {$submenu.topOffest}
leftOffset = {$submenu.leftOffest}
# Angabe wann sich die naechste Ebene wieder schliessen soll
hideMenuWhenNotOver = 50
hideMenuTimer = 70
# alle Menuepunkte anzeigen
expAll=1
# Darstellung der aktuellen Ebene
wrap = |
ACT = 1
ACT < .NO
}
# Ende Ebene 1
# Menutemplate Ebene 2 erzeugen
temp.TOPNAVI_Template.2 = TMENU_LAYERS
temp.TOPNAVI_Template.2 {
layerStyle = position:absolute;VISIBILITY:hidden;
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x
# Position wo sich die naechste Ebene oeffnen soll (Ebene 2)
relativeToParentLayer=1
relativeToTriggerItem=1
topOffset=0
leftOffset=140
# Angabe wann sich die naechste Ebene wieder schliessen soll
hideMenuWhenNotOver = 50
hideMenuTimer = 70
# alle Menuepunkte anzeigen
expAll=1
# Darstellung der aktuellen Ebene
wrap = <table class="menutable" style="height: 25px; width: 90px;">|</table>
}
# Ende Ebene 2
Nun kopiere ich dieses Template für jeden darzustellenden Menüpunkt und "exclude" alle Seiten auf dieser Ebene bis auf das darzustellende Element:
# Kategorie Sport
temp.TOPNAVI_Sport < temp.TOPNAVI_Template
temp.TOPNAVI_Sport.excludeUidList = 14,15,16,17,18,20
temp.TOPNAVI_Sport.1 {
NO {
allWrap = <td class="menucell" style="height: 25px; width: 90px;" bgcolor="{$varSection_Sport_bgcolor}">|</td>
}
}
temp.TOPNAVI_Sport.2 {
NO {
allWrap = <tr><td class="menucell" bgcolor="{$varSection_Sport_bgcolor}">|</td></tr>
}
}
# Kategorie Travel
temp.TOPNAVI_Travel < temp.TOPNAVI_Template
temp.TOPNAVI_Travel.excludeUidList = 14,15,16,17,19,20
temp.TOPNAVI_Travel.1 {
NO {
allWrap = <td class="menucell" style="height: 25px; width: 90px;" bgcolor="{$varSection_Travel_bgcolor}">|</td>
}
}
temp.TOPNAVI_Travel.2 {
NO {
allWrap = <tr><td class="menucell" bgcolor="{$varSection_Travel_bgcolor}">|</td></tr>
}
}
[...]
Im HTML-Template füge ich nun jedes Menü manuell ein. Dadurch ist die Darstellung leider statisch, aber irgendwo ist halt immer ein Haken :-(
Nachtrag: ich habe noch einen Haken gefunden in der Kombination mit xMENU_LAYERS. Da jetzt mehrere Menüs zum Einsatz kommen, die nur wie ein zusammenhängendes _wirken_, werden andere Menüpunkte nicht automatisch ausgeblendet, wenn man mit der Maus über einen neuen Punkt fährt. DEr Browser verhaspelt sich auch mal ganz gerne und schließt ein Menü nicht, so daß dann zwei geöffnet sind.
Der Weisheit letzer Schluß ist das noch nicht. Wenn irgendjemand einen Tipp hat, wie dies mit einem einzigem Menü zu lösen ist, wäre ich sehr dankbar.
Schönen Gruß,
Falk