Meine Menüstruktur besteht aus 2 horizontalen Menüs, die übereinander liegen. Das obere ist Level 0 und das untere Level 1.
Das Level 0 Menu ist ein GMENU und das unten drunter ein TMENU.
Wenn ich einen Menüpunkt in Level 0 auswähle, dann werden die Menüs auf Level 1 korrekt angezeigt. Klicke ich auf einen Eintrag in Level 1, dann wird die gewählte Seite angezeigt, aber es verschwinden alle Menüeinträge auf Level 1. Es hat nichts mit CSS zu tun; die Einträge sind im HTML Code verschwunden.
Meine Menüdefinitionen:
# Create basic menu
temp.topmenu_1 = HMENU
temp.topmenu_1.1 = GMENU
temp.topmenu_1.1.NO {
XY = 20+[10.w],33
backColor = #F8C400
10 = TEXT
10.text.field = title
10.offset = 10,17
10.fontColor = #000
10.fontSize = 11
10.fontStyle = bold
}
temp.topmenu_1.1.RO < temp.topmenu_1.1.NO
temp.topmenu_1.1.RO = 1
temp.topmenu_1.1.RO {
# backColor = red
10.fontColor = white
}
temp.topmenu_1.1.ACT < temp.topmenu_1.1.NO
temp.topmenu_1.1.ACT = 1
temp.topmenu_1.1.ACT {
backColor = #faebb2
10.fontColor = black
}
temp.submenu_1 = HMENU
temp.submenu_1 {
special = directory
entryLevel = 1
1 = TMENU
1.NO = 1
1.NO.linkWrap = <div class="subnavi_entry">|</div>
1.ACT = 1
1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
Was mache ich falsch?
Hoi!
Versuch mal statt
temp.submenu_1 = HMENU
temp.submenu_1 {
special = directory
entryLevel = 1
1 = TMENU
1.NO = 1
1.NO.linkWrap = <div class="subnavi_entry">|</div>
1.ACT = 1
1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
folgendes:
temp.submenu_1 = HMENU
temp.submenu_1 {
special = directory
2 = TMENU
2.NO = 1
2.NO.linkWrap = <div class="subnavi_entry">|</div>
2.ACT = 1
2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
Problem erkannt, Gefahr gebannt 😉
Ich denke so sollte es gehen.
Statt entryLevel zu benutzen, wird jetzt direkt die zweite Ebene angesprochen, wodurch sie IMMER angezeigt werden sollte.
@Fabian
Danke für die Antwort, aber leider funktioniert es nicht. Wenn ich es so mache, wie Du schreibst, dann erscheint das Level 1 Menü NIE.
Hast Du oder jemand anders noch eine Idee?
temp.submenu_1 = HMENU
temp.submenu_1 {
entryLevel = 0
special = directory
2 = TMENU
2.NO = 1
2.NO.linkWrap = <div class="subnavi_entry">|</div>
2.ACT = 1
2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
Das funktioniert leider auch nicht.
Ist es ein Problem, daß ich zwei HMENU definiere?
In meiner Verzweiflung habe ich auch schon folg. probiert:
temp.submenu_1 = HMENU
temp.submenu_1 {
special = directory
special.value = 23
entryLevel = 2
1 = TMENU
1.NO = 1
1.NO.linkWrap = <div class="subnavi_entry">|</div>
1.ACT = 1
1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
2 = TMENU
2.NO = 1
2.NO.linkWrap = <div class="subnavi_entry">|</div>
2.ACT = 1
2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
Aber auch da erscheint nichts. Wenn ich entryLevel=2 auf entryLevel=1 abändere, dann sehe ich die oberste Ebene, was man ja auch erwarten würde. Warum sehe ich dann nichts, wenn ich entryLevel=2 setze?
Hallo dirkil,
ich habe genau das selbe Problem wie du gehabt und habe es grade gelöst. Wollte dir auch Bescheid sagen und hoffe, dass ich dir somit helfen kann.
Versuch mal dein ersten Text wie du am Anfang geschrieben hast nur ohne special = directory, dann müßte es gehen.
etwa so:
temp.submenu_1 = HMENU
temp.submenu_1 {
entryLevel = 1
1 = TMENU
1.NO = 1
1.NO.linkWrap = <div class="subnavi_entry">|</div>
1.ACT = 1
1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
}
Bei mir funktioniert prima und der zweite Menü verschwindet nicht mehr! mein Code sieht so aus, falls es dir nutzen kann:
marks.topmenu = HMENU
marks.topmenu.1 = GMENU
marks.topmenu.1.NO {
XY = 85, 20
backColor = #9A050B
10 = TEXT
10.text.field = title
10.fontColor = #FFFFFF
10.fontFile = fileadmin/arial.ttf
10.fontSize = 14
10.wrap = <i>|</i>
10.niceText = 0
10.offset = 5, 15
5 = IMAGE
5.file = fileadmin/img/hg1.jpg
}
marks.submenu = HMENU
marks.submenu.entryLevel = 1
marks.submenu.1 = GMENU
marks.submenu.1.NO {
XY = 142, 20
backColor = #9A050B
10 = TEXT
10.text.field = title
10.fontColor = #FFFFFF
10.fontFile = fileadmin/arial.ttf
10.fontSize = 11
10.wrap = <i>|</i>
10.niceText = 0
10.offset = 3, 15
5 = IMAGE
5.file = fileadmin/img/hg1.jpg
}
viele Grüße von
Elham
@Elham
Vielen Dank für Dein Posting. Ich habe inzwischen etwas umgestellt. Ich verwende nicht mehr zwei verschiedene Menüs (top_menu und sub_menu), sondern nur noch eins (top_menu), das als zweite Ebene den Inhalt des alten sub_menu hat.
Dann habe ich allerdings ein anderes Problem, da die Hintergrundfarbe des Submenüs anders als die vom top_menu sein soll. Dies hatte ich ursprünglich mit 2 verschiedenen <div> Blöcken realisiert, in denen ich jeweils top_menu und sub_menu dargestellt habe.
Ich habe es gelöst, indem ich ein Hintergrundbild im CSS mit background-image hinterlegt habe. Jetzt funktioniert es einwandfrei - sogar im IE und Firefox.