Zum Inhalt springen

Nur aktive Navigationspunkte anzeigen

Erstellt am 11. Juni 2008 · 1 Antwort · letzte Antwort am 11. Juni 2008

Tags: Frage

atkey ·

Hallo 🙂

ich habe ein kleines Problem und weiß absolut nicht wie ich das lösen soll 🙁

Ich habe folgende Navigationsstruktur:

Obermenü1
--Untermenü1.1
--Untermenü1.2

Obermenü2
--Untermenü2.1
--Untermenü2.2

Obemenü3
--Untermenü3.1
--Untermenü3.2

Jetzt möchte ich folgendes tun...

Wenn der Benutzer auf eine Seite klickt, z.B. --Untermenü2.2 dann soll über der Navigation die erste Ebene, also Obermenü2 stehen. Die anderen Obermenüs sollen dort nicht mehr sichtbar sein. Wie geht das?

als HTML:

<h3>Obermenü2</h3>
<ul>
  <li><a href="#">...</li>		
  ...
</ul>

Ich habe mir nun folgendes gedacht, dass ich in dieser Ebene mir nicht die NO's anzeigen lasse, sondern nur die ACT, aber das funktioniert nicht, da NO wohl pflicht ist 🙁
Ich habe leider keiner Ahnung wo das in meinem Code jetzt hin soll, vielleicht weiß ja jemand Rat?

/* 
  BEGIN   ############# Navigation Level 2_3_4 #############
*/
lib.navigation234 = HMENU
lib.navigation234.entryLevel = 1
lib.navigation234 {
  wrap = <ul class="none">|</ul>
  
  1 = TMENU
  1 {
    NO {
       linkWrap = <li>|</li>
    }
   
    CUR = 1
    CUR {
      linkWrap = <li class="on">|</li>	
    }
        
  }
}

/* 
  /END
*/
Unbekannter Benutzer ·

Das kannst du mit einer Condition machen...

Esrt normal das Menü aufbauen, dann ganz am Ende ( nicht in geschweiften klammern) mit treeLevel den entsprechenden Zweig mit den Unterpunkten ansprechen. Dann im NO die Option doNotShowLink = 1 setzen.
Den Oberpunkt holst du dir mit einem kleinen rootlineMenü, das den letzten Punkt abschneidet.

Ungetestet:

lib {
	ueberschrift = HMENU
	ueberschrift {
		special = rootline
		special.range = 0|-2
		1 = TMENU
		1 {
			...
		}
	}
}

lib {
	navigation234 = HMENU
	navigation234.entryLevel = 1
	navigation234 {
		wrap = <ul class="none">|</ul>
		1 = TMENU
		1 {
			NO {
				wrapItemAndSub = <li>|</li>
			}
			CUR = 1
			CUR {
				wrapItemAndSub = <li class="on">|</li> 
			}
		}
	}
}

[treeLevel = 2]
lib {
	navigation234 {
		1 {
			NO {
				wrapItemAndSub >
				doNotShowLink = 1
			}
			
		}
	}
}
[global]

mit der range musst du dann halt so rumprobieren bis es passt.