Zum Inhalt springen

entryLevel=1, nur den "aktiven" Pfad anzeigen?!

Erstellt am 14. November 2007 · 4 Antworten · letzte Antwort am 17. Mai 2008

Tags: Frage

JayR ·

Hallo zusammen,

vielleicht steh ich grad nur auf dem Schlauch und die Lösung ist ganz einfach, aber ich komm einfach nicht drauf.

Ich habe folgende, vereinfachte Menüstruktur:

- ROOT
-- Startseite
-- Menüpunkt1
--- Sub1
--- Sub2
-- Menüpunkt2

Nun werden die Hauptmenüpunkte (Level1) horizontal angezeigt:

Startseite | Menüpunkt1 | Menüpunkt2

Als Submenü soll der aktive Menüpunkt inkl. der Unterseiten angezeigt werden. Wenn also Menüpunkt1 oder einer seiner Untermenüs aktiv ist, soll das Submenü wie folgt aussehen:

- Menüpunkt1
-- "Sub1" (aktiv)
-- Sub2

Mit folgendem Code werden auch alle anderen Menüpunkte auf der Ebene mit angezeigt, dann sieht es wieder so aus.

- Startseite
- Menüpunkt1
-- Sub1
-- Sub2
- Menüpunkt2

lib.sub = HMENU
lib.sub {
  entryLevel = 1

  1 = TMENU
  1.wrap = <ul>|</ul>
  1.noBlur = 1

  1.NO = 1
  1.NO {
    allWrap = <li class="level1">|</li>
    ATagBeforeWrap = 1
  }

  1.RO = 1
  1.RO < .1.NO

  1.ACT = 1
  1.ACT < .1.NO
  1.ACT.allWrap = <li class="level1_act">|</li>
  
  2 < .1
  2.wrap = |
  2.NO.allWrap = <li class="level2">|</li>
  2.ACT.allWrap = <li class="level2_act">|</li>
}

Soweit ist das ja auch alles in Ordnung. Nur wie kann ich dem Menü sagen, dass NUR der aktive Pfad angezeigt wird und nicht alle Menüpunkte des ersten Levels????

Ich habe schon mit expAll und collapse rumgespielt. Allerdings ohne Erfolg...

Vielen Dank im Voraus.
Gruß Jan

Unbekannter Benutzer ·

Hi,

wenn du den "entryLevel" erhöhst (auf 2) sollten nur die Unterpunkte (sub1,sub2) stehen bleiben. Um auch noch den Hauptmenüpunkt angezeigt zu bekommen, muss das lib.sub vom Typ "COA" sein. An Position 10 kannst du dir dann den Titel des Hauptmenüpunktes anzeigen lassen. Und an Position 20 dein bisheriges Menü.

Also ungfähr so:

lib.sub = COA
lib.sub{
  10 = TEXT
  10{
    # Den Wert (1) musst du eventuell anpassen
    data = leveltitle : 1
    wrap = <h1>|</h1>
  }
  20 = HMENU
  20 {
    entryLevel = 2
  
    1 = TMENU
    1.wrap = <ul>|</ul>
    1.noBlur = 1
  
    1.NO = 1
    1.NO {
      allWrap = <li class="level1">|</li>
      ATagBeforeWrap = 1
    }
  
    1.RO = 1
    1.RO < .1.NO
  
    1.ACT = 1
    1.ACT < .1.NO
    1.ACT.allWrap = <li class="level1_act">|</li>
   
    2 < .1
    2.wrap = |
    2.NO.allWrap = <li class="level2">|</li>
    2.ACT.allWrap = <li class="level2_act">|</li>
  } 
}

😃

harry7922 ·

Hallo Zusammen!

Ich füge mein Problem an diesen Thread an, da es sich auf das gleich Problem bezieht.

Mein Seitenaufbau sieht folgendermassen aus:

- ROOT
-- Startseite
-- Menüpunkt1
--- Sub1
----Untersub1
----Untersub2
--- Sub2
----Untersub3
----Untersub4
-- Menüpunkt2
...

Ich habe auch die Ebene 1 als horizontales Menü
also so: Startseite - Menüpunkt1 - Menüpunkt2

Und möchte in einem extra Menü (TMENU) die Sub und Untersub Seiten des aktiven Menüpunkts der Ebene1 anzeigen lassen.

Also wenn bspw. Menüpunkt1 aus dem horizontalen Menü gewählt wurde, dann soll er mir das andere Menü folgendermassen darstellen:
--- Sub1
--- Sub2

und wenn dann aus diesem Menü die Seite "Sub2" gewählt wurde soll es so aussehen:

--- Sub1
--- Sub2
----Untersub3
----Untersub4

Hebe schon einen Code, der allerdings nur funktioniert, wenn das special.value gefüllt ist -> dadurch werden alle Menüpunkte angezeigt.
Wenn ich das special.value weglasse macht das Menü ganz komische Sachen.

      # Menu links erstellen - EBENE1
       subparts.MENU_LINKS = HMENU
       subparts.MENU_LINKS {
        special = directory
        special.value = 2
        entryLevel = 1
        1 = TMENU
        1 {
                noBlur = 1
                wrap = <ul>|</ul>
                NO = 1
                NO {
                      ATagTitle.field = abstract // description // title
                        wrapItemAndSub = <li>|</li>
                }
                CUR < .NO
                CUR.doNotLinkIt = 1
        }
        2 < .1
        3 < .1
        }

Bitte um einen Tipp und bin für jeden Vorschlag dankbar!!

Vielen Dank schon mal!!!

Grüße Hardy

harry7922 ·

Danke Leute, hab es selber gelöst.

Einfach das "special" weglassen:

       # Menu links erstellen
       subparts.MENU_LINKS = HMENU
       subparts.MENU_LINKS {
        entryLevel = 2
        1 = TMENU
        1 {
                noBlur = 1
                wrap = <ul>|</ul>
                NO = 1
                NO {
                      ATagTitle.field = abstract // description // title
                        wrapItemAndSub = <li>|</li>
                }
                CUR < .NO
                CUR.doNotLinkIt = 1
        }
        2 < .1
        3 < .1
        }