Page 1 of 1
Frage zur Struktur eines Menüs
Posted: Thu May 20, 2010 9:46 pm
by Rahleg
Hallo!
Gibt es eine Möglichkeit in einem Menü nur die jeweils aktive Ebene an zu zeigen?
Sprich ich habe z.B. drei Menüpunkte mit Unterseiten, aufgeteilt in 2 Menüleisten.
Seite 1.0Seite 2.0Seite 3.0
Seite 1.1Seite 2.1Seite 3.1
Seite 1.2Seite 2.2Seite 3.2
Seite 3.3
Seite 3.4
Beide Leisten zeigen über menu number_of_levels="1" jeweils nur eine Ebene an. Es ist kein Dropdownmenü.
Die zweite Menüleiste startet mit start_level="2" auf der zweiten Ebene. Also:
Seite 1.0Seite 2.0Seite 3.0
Seite 1.1Seite 2.1Seite 3.1
Wie bekomme ich die zweite Menüleiste dazu alles unter Seite 3.1 an zu zeigen wenn sie aufgerufen wird?
Sprich dann etwa so:
Seite 1.0Seite 2.0Seite 3.0
Seite 3.2Seite 3.3Seite 3.4
Ich bin im Moment Ratlos. Hoffentlich war mein Beispiel verständlich.
Danke für eure Hilfe.
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 6:19 am
by owr_bgld
eine Möglichkeit wäre:
{menu template="navigation_horizontal" start_element="1.1" show_root_siblings="1"}
somit werden bei mir z.B. alle unterhalb der ebene 1.0 angezeigt. Wenn gewisse (immer die gleichen) nicht angezeigt werden soll, kannst du diese im menu-template mit einer if-schleife abfangen.
Falls ich dich richtig verstanden habe könnte das funktionieren.
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 8:56 am
by Rahleg
Mir ist gerade auf gefallen das mir da gestern Nacht ein Fehler unterlaufen ist.
Die Menüstruktur ist nicht korrekt. Entschuldigt.
Die Tabelle müsste eigentlich so aussehen:
Seite 1.0Seite 2.0Seite 3.0
Seite 1.1Seite 2.1Seite 3.1
Seite 1.2Seite 2.2Seite 3.2
Seite 3.3
Seite 3.4Seite 3.4.1
Seite 3.4.2
Die Frage wäre dann, gibt es eine Möglichkeit in der gleichen Menüleiste nach aufrufen
der Seite 3.4 dann alles ab Ebene 3 an zu zeigen?
Also so:
Seite 1.0Seite 2.0Seite 3.0
Seite 3.4.1Seite 3.4.2
Ich könnte es mit 2-3 verschiedenen Templatevorlagen abfangen
die dann einfach auf einer anderen Ebene starten.
Aber es gibt doch bestimmt eine elegantere Lösung oder?
Ich brauch erstmal einen Kaffee...
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 9:07 am
by owr_bgld
was meinst du jetzt mit "Ebene 3" - alles ab 3.0?
EDIT ANFANG
Ich lass das untere stehen - hab ich als erstes geschrieben (also wirklci hum die Ecke gedacht ;), aber da gibts ja noch was anderes/einfachers:
Mit dieser Variable kannst du arbeiten
Folgendes Menutemplate erstellen und am Anfang der Seite aufrufen, dann hast du die Variable "menudepth" zur Verfügung.
Code: Select all
{foreach from=$nodelist item=node}
{if $node->current == true}
{capture assign="menudepth"}{$node->depth}{/capture}
{if}
{/foreach}
Das eigentliche Menutemplate kannst du dann so abrufen:
Wenn ich nicht irgendwo Code-FEhler (Anführungszeichen usw.) drinnen hab, weils schnell gehen musste müsste das funktionieren.
EDIT ENDE
nimm mal das smarty {get_template_vars} zu Hilfe - das zeigt alle vorhandenen Variablen auf. dort gibts auch zwei für die Menüpunkte. eine sieht z.B. so aus: 3.14.1, die zweite in etwa so: 00003.00014.00001 (ich bin nicht sicher, ob die Anzahl der Nullen genau passt. Aber es sind vor den Punkten immer die gleiche Anzahl an Stellen - siehe 3 und 14). So könntest du mit der zweiten Variable die aktuelle Seite abfragen und anhand dieser die Menü aufbauen. Also wenn nur 00003.00014, dann ab Ebene 2, wenn 00003.00014.00001, dann ab Ebene 3.
Beispiel:
Also die anzahl der ziffern in der Variable durchzählen lassen - wenn 5, dann nix, wenn 11(inkl. Punkt), dann Start bei Ebene 1, wenn 17, dann Start bei Ebene 2, und so weiter
Es kann sein, dass ich jetzt etwas kompliziert denke, aber ist eine Möglichkeit
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 10:49 am
by Rahleg
Das scheint auf jeden Fall ein Schritt in die richtige Richtung.
Ich rufe das Template gleich nach dem ersten Bodytag auf.
Aber ganz funktioniert es noch nicht.
Code: Select all
{menu number_of_levels="1" start_level=$menudepth template="minimal_menu.tpl"}
Wenn ich es so aufrufe bekomme ich leider immer nur die Hauptebene angezeigt.
Wenn ich mit collaps="1" arbeite komme ich tiefer,
aber dann zeigt es mir irgendwie auch noch eine Ebenen darüber an bis ich die nächst tiefere angeklickt habe.
Ich hätte aber gerne immer nur die tiefere Ebene.
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 11:13 am
by owr_bgld
ja, das "number_of_levels" - das durchschau ich selber bis heute nicht
In der Hilfe steht folgendes:
(optional) number_of_levels="1" - Mit dieser Einstellung kann festgelegt werden, bis zu welcher Tiefe das Menü angezeigt wird (Hinweis: Beim Festlegen dieses Parameters ist zu beachten, dass die Zählung der Ebenen IMMER bei der obersten Ebene beginnt, unabhängig von anderen Parametern wie z.Bsp. start_level).
Also müsste number_of_ levels zumindest den gleichen Wert haben wie der start_level - denn ich muss demnach mindestens 3 Levels "anzeigen" um beim Level 3 beginnen zu können. Ergo einfach die Variable zuweisen.
Also entweder a) versuchen, number of levels einfach mit der Variablen versehen - also 3 Levels anzeigen und bei der dritten beginnen - oder b) number.... einfach weglassen. Dann zeigts halt auch die unteren an. Hierkannst du ja das "collapse" nutzen.
Veriante a)
Code: Select all
{menu number_of_levels=$menudepth start_level=$menudepth template="minimal_menu.tpl"}
Ich bin nur grade nicht sicher obs dann nicht die "" reingehören, also ="$menudepth". Das musst du einfach ausprobieren.
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 12:41 pm
by Rahleg
Erst nochmal danke für deine Tipps, smarty ist noch neu für mich und ich stehe gerade wie der sprichwörtliche Ochs vorm Berg.
Code: Select all
{menu collapse="1" start_level=$menudepth template="minimal_menu.tpl"}
und
Code: Select all
{menu number_of_levels=$menudepth start_level=$menudepth template="minimal_menu.tpl"}
Funktionieren leider beide noch nicht richtig.
Ich bekomme sogar das Hauptmenü noch einmal mit angezeigt.
Ich habe mal einen Screenshoot mit angefügt wie es momentan aussieht.
Oberhalb der dünnen Linie ist das Hauptmenü, das bleibt immer gleich.
Darunter ist das Untermenü.
Wenn ich oben im Hauptmenü "Test" anklicke möchte ich das im Untermenü nur "Test 2" und "Test 3"
zu sehen sind. Und wenn ich dann "Test 3" anklicke das 3.1 und 3.2 zum vorschein kommen.
Es zeigt mir also leider noch die übergeordnete Ebene immer mit an.
Re: Frage zur Struktur eines Menüs
Posted: Fri May 21, 2010 2:07 pm
by owr_bgld
kannst du mir mal einen Link auf die Seite zukommen lassen? dann kann man(n) vielleicht auch etwas mehr rauslesen - ich lass mir das auch nochmal über die Feiertage durch den Kopf gehen. Es müsste ja funktionieren, aber irgendwo sitzt der Hund im Detail - und wie ich mich kenne ist der so banal, dass ich mir hinterher immer in den Hintern beissen könnte.
EDIT: Eventuell könntest du vom Template-Quelltext den Bereich von body bis zum Ende - und einige Zeilen dazu - des anzuzeigenden Menü hier reinkopieren.
Re: Frage zur Struktur eines Menüs
Posted: Tue May 25, 2010 1:08 pm
by Rahleg
Hallo!
Du hattest recht, die Lösung lag tatsächlich im Detail.
"$menudepth" war die richtige Variabel.
Aber sie sollte ja nicht noch die aktuelle Ebene mit anzeigen
sondern alles was sich unter dieser Ebene befindet.
Die Lösung war also schlicht und ergreifend:
Code: Select all
{menu number_of_levels="1" start_level=$menudepth+1 template="minimal_menu.tpl"}
So einfach kann es sein. ;D
Ich danke dir für deinen Tipp mit $menudepth,
jetzt muss ich noch mit einem Kommando einen Link mit einfügen der einen wieder eine Ebene nach oben bringt.
Da gab es doch auch etwas oder?
Gruß!
Ralle
Re: Frage zur Struktur eines Menüs
Posted: Sat May 29, 2010 8:17 am
by owr_bgld
ich hab mal gegrübelt - vor nächster Woche hab ich nicht viel Zeit mich damit zu beschäftigen, aber das müsste mit dem activeparent funktionieren - vielleicht kommst du ja selber vorher schon auf einen grünen Zweig.
Beim Teil mit current=true - das Menü das nur die Variable ausgibt - dort müsstest du dann also eine zweite Variable holen (activeparent) und dann den einen Menüpunkt anzeigen lassen können. - So als erster Gedanke
Re: Frage zur Struktur eines Menüs
Posted: Sat May 29, 2010 3:32 pm
by Rahleg
Danke für den ersten Tipp in die Richtung, ich werd es mal testen.