Submenü Eintrag verschwindet wenn im aktiven Zustand

  • dirkil dirkil
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2005, 23:56

    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:

    1. # Create basic menu
    2. temp.topmenu_1 = HMENU
    3. temp.topmenu_1.1 = GMENU
    4. temp.topmenu_1.1.NO {
    5. XY = 20+[10.w],33
    6. backColor = #F8C400
    7.  
    8. 10 = TEXT
    9. 10.text.field = title
    10. 10.offset = 10,17
    11. 10.fontColor = #000
    12. 10.fontSize = 11
    13. 10.fontStyle = bold
    14. }
    15.  
    16. temp.topmenu_1.1.RO < temp.topmenu_1.1.NO
    17. temp.topmenu_1.1.RO = 1
    18. temp.topmenu_1.1.RO {
    19. # backColor = red
    20. 10.fontColor = white
    21. }
    22.  
    23. temp.topmenu_1.1.ACT < temp.topmenu_1.1.NO
    24. temp.topmenu_1.1.ACT = 1
    25. temp.topmenu_1.1.ACT {
    26. backColor = #faebb2
    27. 10.fontColor = black
    28. }
    29.  
    30.  
    31. temp.submenu_1 = HMENU
    32. temp.submenu_1 {
    33. special = directory
    34. entryLevel = 1
    35. 1 = TMENU
    36. 1.NO = 1
    37. 1.NO.linkWrap = <div class="subnavi_entry">|</div>
    38.  
    39. 1.ACT = 1
    40. 1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    41. }

    Was mache ich falsch?


  • 1
  • Fabian-K Fabian-K
    Jedi-Ratsmitglied
    0 x
    581 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2005, 09:10

    Hoi!

    Versuch mal statt

    1. temp.submenu_1 = HMENU
    2. temp.submenu_1 {
    3. special = directory
    4. entryLevel = 1
    5. 1 = TMENU
    6. 1.NO = 1
    7. 1.NO.linkWrap = <div class="subnavi_entry">|</div>
    8.  
    9. 1.ACT = 1
    10. 1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    11. }
    folgendes:

    1. temp.submenu_1 = HMENU
    2. temp.submenu_1 {
    3. special = directory
    4. 2 = TMENU
    5. 2.NO = 1
    6. 2.NO.linkWrap = <div class="subnavi_entry">|</div>
    7.  
    8. 2.ACT = 1
    9. 2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    10. }

    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.

  • dirkil dirkil
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2005, 09:22

    @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?

  • Fabian-K Fabian-K
    Jedi-Ratsmitglied
    0 x
    581 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2005, 09:34

    1. temp.submenu_1 = HMENU
    2. temp.submenu_1 {
    3. entryLevel = 0
    4. special = directory
    5. 2 = TMENU
    6. 2.NO = 1
    7. 2.NO.linkWrap = <div class="subnavi_entry">|</div>
    8.  
    9. 2.ACT = 1
    10. 2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    11. }

  • dirkil dirkil
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2005, 09:58

    Das funktioniert leider auch nicht.

    Ist es ein Problem, daß ich zwei HMENU definiere?

    In meiner Verzweiflung habe ich auch schon folg. probiert:

    1. temp.submenu_1 = HMENU
    2. temp.submenu_1 {
    3. special = directory
    4. special.value = 23
    5. entryLevel = 2
    6. 1 = TMENU
    7. 1.NO = 1
    8. 1.NO.linkWrap = <div class="subnavi_entry">|</div>
    9.  
    10. 1.ACT = 1
    11. 1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    12.  
    13. 2 = TMENU
    14. 2.NO = 1
    15. 2.NO.linkWrap = <div class="subnavi_entry">|</div>
    16.  
    17. 2.ACT = 1
    18. 2.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    19.  
    20. }

    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?

  • Elham Elham
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    07. 09. 2005, 13:09

    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:

    1. temp.submenu_1 = HMENU
    2. temp.submenu_1 {
    3. entryLevel = 1
    4. 1 = TMENU
    5. 1.NO = 1
    6. 1.NO.linkWrap = <div class="subnavi_entry">|</div>
    7.  
    8. 1.ACT = 1
    9. 1.ACT.linkWrap = <div class="subnavi_entry_act">|</div>
    10. }

    Bei mir funktioniert prima und der zweite Menü verschwindet nicht mehr! mein Code sieht so aus, falls es dir nutzen kann:

    1. marks.topmenu = HMENU
    2. marks.topmenu.1 = GMENU
    3. marks.topmenu.1.NO {
    4. XY = 85, 20
    5. backColor = #9A050B
    6. 10 = TEXT
    7. 10.text.field = title
    8. 10.fontColor = #FFFFFF
    9. 10.fontFile = fileadmin/arial.ttf
    10. 10.fontSize = 14
    11. 10.wrap = <i>|</i>
    12. 10.niceText = 0
    13. 10.offset = 5, 15
    14. 5 = IMAGE
    15. 5.file = fileadmin/img/hg1.jpg
    16. }
    17.  
    18. marks.submenu = HMENU
    19. marks.submenu.entryLevel = 1
    20. marks.submenu.1 = GMENU
    21. marks.submenu.1.NO {
    22. XY = 142, 20
    23. backColor = #9A050B
    24. 10 = TEXT
    25. 10.text.field = title
    26. 10.fontColor = #FFFFFF
    27. 10.fontFile = fileadmin/arial.ttf
    28. 10.fontSize = 11
    29. 10.wrap = <i>|</i>
    30. 10.niceText = 0
    31. 10.offset = 3, 15
    32. 5 = IMAGE
    33. 5.file = fileadmin/img/hg1.jpg
    34. }

    viele Grüße von

    Elham

  • dirkil dirkil
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    07. 09. 2005, 13:46

    @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.

  • 1