Zum Inhalt springen

nur aktuelle Menuebene anzeigen

Erstellt am 1. August 2005 · 2 Antworten · letzte Antwort am 9. August 2005

Tags: Frage

Unbekannter Benutzer ·

Hi,

ich soll meine Navigation so machen, dass ich oben eine Haupt oder Toplevel Navigation habe. Im linken bereiche, sind dann die anderen Ebenen. Ich soll es jetzt so machen, dass links nur die aktuelle Ebene dargestellt wird, unter welchem Menüpunkt ich mich nun befinde. Und oben ein zurück-Button, mit dem ich in die Nächst höhere Ebene komme.

Ist so was mit TS machbar, weil ich habe gerade gar keine Idee.

Unbekannter Benutzer · · Beste Antwort

Hallo,

um noch mal auf meine Frage zurückzukommen.

Vielleicht haben meine Frage einige nicht verstanden.

Also wenn Menupunkt A die Unterpunkte A1,A2,A3 hat, so soll, wenn ich auf Menupunkt A klicke nur die Ebene mit A1,A2,A3 zu sehen sein.

Wie geht das?

mfg wamarkus

zipfel ·

Hallo,

ich stehe vor dem gleichen Problem. Hab das hier auch schon geposted aber keine Antwort bisher 😢
Ich hab schon einiges ausprobiert und dabei Teilerfolge gehabt. Evtl. kannst Du davon etwas benutzen.
Ich habe oben mein grafisches Hauptmenü der Ebene 1. Das war einfach, weil erste Ebene (1=GMENU usw.).
Links habe ich mein Untermenü ab Ebene 2.
Ein einfaches Standard-Textmenü würde jetzt so aussehen:

...
   10 = HMENU
   10 {
      wrap = <ul> | <li>
      special = directory
      special.value = 2
      entryLevel = 1
      1 = TMENU
      1.NO = 1
      1.NO {
         linkWrap = <li> | </li>
      }
      2 < .1
      3 < .2
...

Falls special.value die ID des obersten anzuzeigenden Menüpunktes hat, dann klappt alles wunderbar. In der TS-Ref (hier auf den Seiten) steht für entryLevel:

Gibt an, in welcher Ebene der rootline das Menü beginnen soll.

(siehe HMENU-Referenz). Demnach müßte man nur entryLevel = 2 eintragen und dürfte nur noch die darunterliegenden Menüebenen angezeigt bekommen (so wie wir wollen). Klappt leider nicht. Bei mir (Typo 3.8.0) kommt dann nur die erste Menüebene und keine darunterliegenden. Also entweder hat entryLevel in 3.8.0 einen Bug, oder die Beschreibung ist schlecht. Ohne entryLevel werden Untermenüebenen aber gar nicht angezeigt, daher hat es wohl nur die Funktion, generell die Anzeige von Untermenüebenen 'anzuschalten'.
Für die Lösung habe ich 2 Varianten gefunden:

  • 1. Die Menüebene 1 irgendwie 'ausblenden'. Bei einem grafischen Menü ist das einfach. Einfach den XY-Wert der Ebene auf 0,0 setzen. Dann ist sie zwar noch im HTML-Code, aber sehen tut man nicht mehr. Ebenso kann man die 1. Ebene im Textmenü ausblenden (mit CSS). Einfach die Menüebenen mit z.B. class-Attributen versehen und die Klasse für die obere Menüebene auf display: none; setzen.

  • 2. Einfach den special.value Wert weglassen. Laut Referenz wird dann für special.value immer die ID der aktuellen Seite genommen. Dann braucht man auch entryLevel nicht, da - und hier liegt für mich der Nachteil, aber wie Du schreibst, ist es ja das was Du willst - eh immer nur eine Menüebene angezeigt wird (wenn Du auf einen Menülink klickst, bekommt special.value ja diese ID).

Also, eine richtig saubere Lösung hab ich leider nicht.

Viel Erfolg, Rado