Zum Inhalt springen

Menüebenen mit TMENU getrennt abbilden?

Erstellt am 25. Juni 2008 · 12 Antworten · letzte Antwort am 4. Juli 2008

Tags: Frage

Crazy-Achmet ·

Hey,

ich weiß, ich komm immer mit den komischten Fragen.

Ich möchte, dass mein Menü folgendermaßen ausgegeben wird.

1. Menüpunkt
2. Menüpunkt
3. Menüpunkt
4. Menüpunkt
------------------------
1. Untermenüpunkt von 1.
2. Untermenüpunkt von 1.
3. Untermenüpunkt von 1.
4. Untermenüpunkt von 1.
------------------------
1. Untermenüpunkt von 2.
2. Untermenüpunkt von 2.
------------------------
1. Untermenüpunkt von 3.
2. Untermenüpunkt von 3.
3. Untermenüpunkt von 3.
------------------------
1. Untermenüpunkt von Untermenüpunkt 1.
2. ...
usw.

Ist das überhaupt möglich und wenn ja, wie? Ich hoffe ihr seid mir (wie immer) eine große Hilfe! =) Danke schonmal im Voraus

Lg,

Flo

just2b ·

Hallo,

pro Level ein eigenes Menü und dann einfach mit
special = directory
special.value = 12,34

die ids der jeweiligen überseiten angeben

georg

Crazy-Achmet ·

Hey,

erstmal danke für die Antwort. Für den Anfang hat ich das schonmal weiter gebracht, aber das Problem dass ich dann habe ist, dass mir dann ja die dynamik verloren geht.

Ich kann meinem Kunden ja schlecht sagen, dass er jedesmal im Template die IDs ändern muss.

Gibt es noch eine andere Lösung?

Crazy-Achmet ·

Kannst mir das doch nochmal bitte jemand erklären. Ich dachte ich hätte es, aber irgendwie bleibt die 2. Tiefe leer.

Hier mein Code

temp.menu02 = HMENU
temp.menu02.special = directory
temp.menu02.special.value = 1
temp.menu02.1 = TMENU
temp.menu02.1.wrap = <div id="menueposition_01"><div id="menue_01">|</div></div>
temp.menu02.1.NO = 1
temp.menu02.1.IFSUB=1
temp.menu02.1.IFSUB.ATagParams = class="link_01"

temp.menu03 = HMENU
temp.menu03.special = directory
temp.menu03.special.value = 1
temp.menu03.entryLevel = 1
temp.menu03.1 = TMENU
temp.menu03.1.expAll = 1
temp.menu03.1.wrap = <div id="menueposition_02"><div class="toggler_02">|</div></div>
temp.menu03.1.NO = 1
temp.menu03.1.IFSUB=1
temp.menu03.1.IFSUB.ATagParams = class="link_02"

Alles was ich will ist doch, dass die Untermenüebenen nicht mit im gleichen DIV sind, wie die Elternebene, es soll also jede Ebene "getrennt" dargestellt werden, die Reihenfolge ist mir mittlerweile egal!

Danke nochmal

Flo

d.​walter ·

Hallo Flo,

man kann die Zeilen 11, 12 und 13 nicht miteinander kombinieren!

Schmeiss 11 und 12 raus und lass nur 13 stehen, dann sollte es eigentlich klappen.

Daniel

Crazy-Achmet ·

Jau, hier: http://flexo-raumsysteme.de/index.php?id=706

Das wäre jetzt folgender Code:

temp.menu02 = HMENU
temp.menu02.special = directory
temp.menu02.special.value = 1
temp.menu02.1 = TMENU
temp.menu02.1.wrap = <div id="menueposition_01"><div id="menue_01">|</div></div>
temp.menu02.1.NO = 1
temp.menu02.1.IFSUB=1
temp.menu02.1.IFSUB.ATagParams = class="link_01"

temp.menu03 = HMENU
temp.menu03.entryLevel = 1
temp.menu03.1 = TMENU
temp.menu03.1.expAll = 1
temp.menu03.1.wrap = <div id="menueposition_02"><div id="menue_02">|</div></div>
temp.menu03.1.NO = 1
temp.menu03.1.IFSUB=1
temp.menu03.1.IFSUB.ATagParams = class="link_02"

new.110 < temp.menu02
new.112 < temp.menu03
d.​walter ·

Komisch, also ich weiß zwar nicht was du genau willst, aber für mich sieht es so aus, als ob das Menü funktioniert.

Wenn ich z. B. auf flexonews klicke, zeigt er mir dann die zweite Menüebene an!

Imo wenn ich dich richtig verstehe willst du immer gleich alle Menüebenen anzeigen lassen und dann aber in deiner Sortierung. Das wird nicht gehen.

Daniel

Crazy-Achmet ·

Ja, genau das möchte ich.

Auf flexo-raumsysteme.de ist das Menü z.Z. in Flash, ich möchte das jedoch lieber in JavaScript umsetzen.
Wie gesagt, inzwischen gebe ich mich damit zufrieden ( ich bin ja froh, wenn es überhaupt irgendwie läuft 😃 ), wenn es so aussieht:

<div id="menueebene1">
1. Punkt
2. Punkt
3. Punkt
</div>
<div id="untermenue1">
1.1. Punkt
1.2. Punkt
</div>

Man muss doch irgendwie hinbekommen, dass die einzelnen Ebenen nicht untereinander verschachtelt sind, oder? Das würd mir ja echt schon reichen *g*

//EDIT

YES!!! Ich habe es! =) Sobald ich fertig bin, werd ich das Ergebniss hier posten, vielleicht benötigt dass ja sonst noch irgendwer! =)

Trotzdem 1.000 Dank für deine / Eure Hilfe!

d.​walter ·

Also die erste Menüebene ist ja nicht das Problem!

Für die zweite Menüebene nimmst du einen neuen Marker und baust dir ein zweites TMENU benutzt dann kein special sondern nur entrylevel.
Dadurch wird dir in Abhängigkeit von dem ausgewählten Menüpunkt der ersten Ebene die Navi der zweiten Ebene angezeigt.

So kannst du das natürlich für jede weitere darunterliegende Ebene machen.

Wenn du aber alle Menüs der zweiten Ebene anzeigen möchtest, unabhängig davon, welches Menü aus der ersten ebene gewählt hast, dann wird es bischen schwieriger.

Eine Idee die mir spontan einfällt wäre folgendes.

Du baust die erste Ebene wie gehabt. Für die zweite Ebene baust du dir dann wieder ein komplettes Menü aus erster und zweiter Ebene zusammen und gibst der ersten Ebene eine Klasse damit du via CSS diese nacher nicht anzeigst. Dadurch solltet du dann schön alle Unterpunkte nacheinander angezeigt bekommen!
wichtig hier expandAll

Daniel

Crazy-Achmet ·

So, hier ist mein Menü, wie es bei mir perfekt geklappt hat! =)

lib.SliderMenu = COA
lib.SliderMenu {
   
  10 = HMENU
  10.special = directory
  10.special.value = 1  
  10.entryLevel = 0
   
  # 1st level
  10.1 = TMENU
  10.1 {
    wrap = <div id="menueposition_01"><div id="menue_01">|</div></div>
    expAll = 1
    NO {
      linkWrap = |
    }
    IFSUB < .NO
    IFSUB = 1
    IFSUB.ATagParams = class="link_01"
  }
   
  # 2nd level
  20 < .10
  20.1.wrap >
  20.1.NO.doNotShowLink = 1
  20.1.IFSUB.doNotShowLink = 1
  20.2 < .10.1
  20.2.IFSUB.ATagParams = class="link_02"
  20.2.wrap = <div id="menueposition_02"><div class="toggler_02">|</div></div>
  
  30 < .20
  30.2.wrap >
  30.2.NO.doNotShowLink = 1
  30.2.IFSUB.doNotShowLink = 1
  30.3 < .10.1
  30.3.IFSUB.ATagParams = class="link_03"
  30.3.wrap = <div id="menueposition_03"><div class="toggler_03">|</div></div>
  
  40 < .30
  40.3.wrap >
  40.3.NO.doNotShowLink = 1
  40.3.IFSUB.doNotShowLink = 1
  40.4 < .10.1
  40.4.wrap = <div id="menueposition_04"><div class="toggler_04">|</div></div>  
}