Hallo,
ich habe mal eine Frage: Wenn ich einen Navigationsbaum habe, der so ungefähr aussieht
- Pommes
- gefroren
- aufgetaut
- frittiert
- Mayo
- Ketchup
- Soße
- Saté
- Schaschlik
- Hackfleisch
und ich möchte, dass nur die Punkte unterhalb von Pommes ausgeklappt sind, aber nicht die von Soße, wie kann ich das dann am besten mit CMSMS lösen? Mit excludeprefix kann ich leider in diesem Fall nicht arbeiten - gibt es eine Alternative?
Gruß
Nils
[GELÖST] Nur ein Menüpunkt ausgeklappt
[GELÖST] Nur ein Menüpunkt ausgeklappt
Last edited by nils73 on Wed Oct 29, 2008 11:41 am, edited 1 time in total.
Re: Nur ein Menüpunkt ausgeklappt
Schau Dir mal die Hilfe zum MenuManager an.
Da gibt es einen Parameter namens "collapse".
Allerdings ist der lediglich dafür da, die Menüpunkte nur dann auszuklappen, wenn ich deren übergeordneten Menüpunkt angewählt habe.
Da Du jetzt schon eine Weile dabei bist, gehe ich mal davon aus, dass Du das nicht gemeint haben kannst
Ich schätze mal Du willst das generell so haben, egal ob ich "Pommes" angewählt habe oder nicht.
Spontan fiele mir dazu ein, das Menü im Template zweimal mit unterschiedlichen Parametern aufzurufen.
Also einmal das Menü so aufrufen, dass nur "Pommes" inklusive aller Untermenüpunkte ohne collapse und einmal so, dass alles ab "Mayo" mit collapse angezeigt wird.
Du könntest aber auch das MenüTemplate so bearbeiten, dass Du zusätzlich zu allem was da so drin steht noch das Alias prüfst. Ist der Menüpunkt oder das Parent = "Pommes" dann wird der Collapse-Parameter einfach ignoriert.
Ist jetzt nur rein Theoretisch. Hab da jetzt noch keinen konkreten Code vor Augen.
Da gibt es einen Parameter namens "collapse".
Allerdings ist der lediglich dafür da, die Menüpunkte nur dann auszuklappen, wenn ich deren übergeordneten Menüpunkt angewählt habe.
Da Du jetzt schon eine Weile dabei bist, gehe ich mal davon aus, dass Du das nicht gemeint haben kannst

Ich schätze mal Du willst das generell so haben, egal ob ich "Pommes" angewählt habe oder nicht.
Spontan fiele mir dazu ein, das Menü im Template zweimal mit unterschiedlichen Parametern aufzurufen.
Also einmal das Menü so aufrufen, dass nur "Pommes" inklusive aller Untermenüpunkte ohne collapse und einmal so, dass alles ab "Mayo" mit collapse angezeigt wird.
Du könntest aber auch das MenüTemplate so bearbeiten, dass Du zusätzlich zu allem was da so drin steht noch das Alias prüfst. Ist der Menüpunkt oder das Parent = "Pommes" dann wird der Collapse-Parameter einfach ignoriert.
Ist jetzt nur rein Theoretisch. Hab da jetzt noch keinen konkreten Code vor Augen.
Re: Nur ein Menüpunkt ausgeklappt
Hm, ja ... soweit bin ich schon gekommen.NaN wrote: Schau Dir mal die Hilfe zum MenuManager an.
Da gibt es einen Parameter namens "collapse".

Richtig.NaN wrote: Ich schätze mal Du willst das generell so haben, egal ob ich "Pommes" angewählt habe oder nicht.
Hm, wäre eine Option, funktioniert aber vom Code her nicht so toll.NaN wrote: Spontan fiele mir dazu ein, das Menü im Template zweimal mit unterschiedlichen Parametern aufzurufen.
Also einmal das Menü so aufrufen, dass nur "Pommes" inklusive aller Untermenüpunkte ohne collapse und einmal so, dass alles ab "Mayo" mit collapse angezeigt wird.
Das hatte ich auch schon als Überlegung herangezogen, nur hab ich dazu überhaupt keinen Code vor Augen, wie ich das machen könnte. Also hänge ich immer noch in meiner Fragerunde fest. Mal schauen, ich poste es auch mal im englischsprachigen Forum.NaN wrote: Du könntest aber auch das MenüTemplate so bearbeiten, dass Du zusätzlich zu allem was da so drin steht noch das Alias prüfst. Ist der Menüpunkt oder das Parent = "Pommes" dann wird der Collapse-Parameter einfach ignoriert.
Gruß
Nils
Re: [GELÖST] Nur ein Menüpunkt ausgeklappt
Im englischsprachigen Forum war dann der entscheidende Hinweis: Man muss nicht immer alles mit PHP und Co lösen, manchmal reicht auch CSS. Hier der Link zum Original-Beitrag: http://forum.cmsmadesimple.org/index.ph ... 003.0.html.
Kurzes Extrakt: Man wendet auf alle Elemente, die aktiv sind (parent, current) die Klasse "current" im Element an. Dann fragt man mit einer simplen IF-Abfrage, welche Seite (alias) gerade aktiv ist und gibt dieser auch noch die Klasse current und schon kann man mit etwas CSS (display: none; und display: block;) nur einen Strang immer anzeigen bzw. die anderen ausblenden. Voraussetzung ist, dass man das Menü mit collapse=0 aufruft.
Gruß
Nils
Kurzes Extrakt: Man wendet auf alle Elemente, die aktiv sind (parent, current) die Klasse "current" im Element an. Dann fragt man mit einer simplen IF-Abfrage, welche Seite (alias) gerade aktiv ist und gibt dieser auch noch die Klasse current und schon kann man mit etwas CSS (display: none; und display: block;) nur einen Strang immer anzeigen bzw. die anderen ausblenden. Voraussetzung ist, dass man das Menü mit collapse=0 aufruft.
Gruß
Nils