[GELÖST] Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
[GELÖST] Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Hallo,
ich bin ein cmsms Newbie und bedanke mich im voraus für Eure Hilfe und entschuldige mich, falls dieses Problem schonmal behandelt wurde und ich es einfach nur nicht gefunden habe.
Also ich habe ein Menü mit Unterseiten, die nur angezeigt werden sollen, wenn die betreffende Überseite aktiv ist.
Mit dem Template " section_expand " hat das auch prima geklappt. Allerdings habe ich das Problem, dass bei manchen die Untermenüpunkte nicht angezeigt werden. Bei einer war es sogar so, dass sie zuerst angezeigt wurden und plötzlich nicht mehr. Zur Lösung habe ich mehrere Dinge probiert:
- Die betreffenden Seiten komplett gelöscht, neue erstellt und die erst mit einem Seitentemplate verbunden, bei dem es bei den anderen seiten klappt. Hat nichts gebracht.
- Dann ein komplett neues Template erstellt. Hat auch nichts gebracht.
- Die Seiten mit includeprefix nochmal extra eingebunden. Dann erscheinen Sie zwar, aber dem Quellcode nach zu urteilen sind sie dann nicht als Unterpunkt der Übergeordneten Seite erschienen und erhalten demnach auch nicht die richtige Klasse für das css.
- Weiterhin habe ich die Seiten und Templates komplett mit denen verglichen die einwandfrei funktionieren. Alles identisch.
- Wenn ich nun neue Seiten anlege und die einem bestehenden Template zuordne, erscheinen die Unterpunkte garnicht mehr. Also nur bei denen wo es die ganze Zeit schon ging.
- Ich habe auch das Original " section_expand " tpl nochmal für das Menü benutzt um auszuschließen, dass es an meinen Änderungen liegt. Das gleiche Problem...
Also ich weiß einfach nicht mehr weiter und wäre super glücklich, wenn mir jemand helfen könnte.
Auf der Seite: tms.ccreative.de könnt Ihr die Seite sehen. Es geht um das Menü auf der rechten Seite. Die Punkte haben alle Unterpunkte aber wir Ihr sehen werdet werden sie nur bei manchen Punkten angezeigt.
Das ist der Aufruf im Seiten-Template:
{menu template='side_section_expand' includeprefix='60plus,erwachsene,jugend,studenten,dance4fans,hiphop,kids' collapse='1'}
Das ist mein Menütemplate:
{* CSS classes used in this template:
#active - The active/current page
li#separator - To style the ruler for the separator
span.sectionheader - To style section header *}
{if $count > 0}
{assign var="prevdepth" value="1"}
{foreach from=$nodelist item=node}
{assign var="prevdepth" value=$prevnode->depth}
{if ($node->depth haschildren == "1")} {* bugfix if subitems were not shown in menu *}
{else}
{if $node->depth depth}
{while (($act_depth > 0) and ($collapseopened > 0))}
{assign var="act_depth" value=$act_depth-1}
{assign var="collapseopened" value=$collapseopened-1}
{/while}
{else}
{/if}
{/if}
{/if}
{if $node->type == 'separator'}
{else}
{if $node->current == true}{if $node->haschildren == true}{else}{/if}
{else}{if $node->parent == true}{else}{if $node->haschildren == '1'}id}">{else}{/if}{/if}
{/if}
id}" {if $node->type != 'sectionheader'}href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}{/if}{if $node->haschildren == '1'}
{assign var="collapseopened" value=$collapseopened+1} onclick="expandcontent('sub{$node->id}')"{else}{/if} >
{if $node->type == 'sectionheader'}{/if}
{$node->menutext}
{if $node->type == 'sectionheader'}{/if}
{/if}
{assign var="prevnode" value=$node}
{/foreach}
{if ($prevnode->haschildren == "1")} {* bugfix if subitems were not shown in menu *}
{else}
{if $prevnode->depth > 1}
{assign var="act_depth" value=$prevnode->depth-1}
{while (($act_depth > 0) and ($collapseopened > 0))}
{assign var="act_depth" value=$act_depth-1}
{assign var="collapseopened" value=$collapseopened-1}
{/while}
{else}
{/if}
{/if}
{/if}
Falls Ihr mehr Infos braucht, einfach Bescheid geben...Danke!!!!
ich bin ein cmsms Newbie und bedanke mich im voraus für Eure Hilfe und entschuldige mich, falls dieses Problem schonmal behandelt wurde und ich es einfach nur nicht gefunden habe.
Also ich habe ein Menü mit Unterseiten, die nur angezeigt werden sollen, wenn die betreffende Überseite aktiv ist.
Mit dem Template " section_expand " hat das auch prima geklappt. Allerdings habe ich das Problem, dass bei manchen die Untermenüpunkte nicht angezeigt werden. Bei einer war es sogar so, dass sie zuerst angezeigt wurden und plötzlich nicht mehr. Zur Lösung habe ich mehrere Dinge probiert:
- Die betreffenden Seiten komplett gelöscht, neue erstellt und die erst mit einem Seitentemplate verbunden, bei dem es bei den anderen seiten klappt. Hat nichts gebracht.
- Dann ein komplett neues Template erstellt. Hat auch nichts gebracht.
- Die Seiten mit includeprefix nochmal extra eingebunden. Dann erscheinen Sie zwar, aber dem Quellcode nach zu urteilen sind sie dann nicht als Unterpunkt der Übergeordneten Seite erschienen und erhalten demnach auch nicht die richtige Klasse für das css.
- Weiterhin habe ich die Seiten und Templates komplett mit denen verglichen die einwandfrei funktionieren. Alles identisch.
- Wenn ich nun neue Seiten anlege und die einem bestehenden Template zuordne, erscheinen die Unterpunkte garnicht mehr. Also nur bei denen wo es die ganze Zeit schon ging.
- Ich habe auch das Original " section_expand " tpl nochmal für das Menü benutzt um auszuschließen, dass es an meinen Änderungen liegt. Das gleiche Problem...
Also ich weiß einfach nicht mehr weiter und wäre super glücklich, wenn mir jemand helfen könnte.
Auf der Seite: tms.ccreative.de könnt Ihr die Seite sehen. Es geht um das Menü auf der rechten Seite. Die Punkte haben alle Unterpunkte aber wir Ihr sehen werdet werden sie nur bei manchen Punkten angezeigt.
Das ist der Aufruf im Seiten-Template:
{menu template='side_section_expand' includeprefix='60plus,erwachsene,jugend,studenten,dance4fans,hiphop,kids' collapse='1'}
Das ist mein Menütemplate:
{* CSS classes used in this template:
#active - The active/current page
li#separator - To style the ruler for the separator
span.sectionheader - To style section header *}
{if $count > 0}
{assign var="prevdepth" value="1"}
{foreach from=$nodelist item=node}
{assign var="prevdepth" value=$prevnode->depth}
{if ($node->depth haschildren == "1")} {* bugfix if subitems were not shown in menu *}
{else}
{if $node->depth depth}
{while (($act_depth > 0) and ($collapseopened > 0))}
{assign var="act_depth" value=$act_depth-1}
{assign var="collapseopened" value=$collapseopened-1}
{/while}
{else}
{/if}
{/if}
{/if}
{if $node->type == 'separator'}
{else}
{if $node->current == true}{if $node->haschildren == true}{else}{/if}
{else}{if $node->parent == true}{else}{if $node->haschildren == '1'}id}">{else}{/if}{/if}
{/if}
id}" {if $node->type != 'sectionheader'}href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}{/if}{if $node->haschildren == '1'}
{assign var="collapseopened" value=$collapseopened+1} onclick="expandcontent('sub{$node->id}')"{else}{/if} >
{if $node->type == 'sectionheader'}{/if}
{$node->menutext}
{if $node->type == 'sectionheader'}{/if}
{/if}
{assign var="prevnode" value=$node}
{/foreach}
{if ($prevnode->haschildren == "1")} {* bugfix if subitems were not shown in menu *}
{else}
{if $prevnode->depth > 1}
{assign var="act_depth" value=$prevnode->depth-1}
{while (($act_depth > 0) and ($collapseopened > 0))}
{assign var="act_depth" value=$act_depth-1}
{assign var="collapseopened" value=$collapseopened-1}
{/while}
{else}
{/if}
{/if}
{/if}
Falls Ihr mehr Infos braucht, einfach Bescheid geben...Danke!!!!
Last edited by naliandra on Thu Feb 26, 2009 12:00 pm, edited 1 time in total.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
- ich kenne das Template "section_expand" nicht. Der Name könnte aber darauf hinweisen, dass es vieleicht nicht das geeignete ist. Versuch es doch mal mit dem ganz einfachen "simple_navigation". Das sollte für Deine Zwecke auf jeden Fall reichen.
- Hast Du bei jeder Unterseite eine "übergeordnete Seite" zugewiesen?
- Hast Du bei jeder Unterseite eine "übergeordnete Seite" zugewiesen?
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Hier gibts noch 'ne Menge davonantibart wrote: - ich kenne das Template "section_expand" nicht.

http://wiki.cmsmadesimple.org/index.php ... _Templates
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Hallo, danke für die Antworten.
@antibart: Wie bereits geschrieben, ist das Menü genau so wie ich es brauche und es sind insgesamt 7 Menüpunkte und nur bei dreien werden die Unterpunkte nicht angezeigt. Sonst funktioniert es tadellos, also kann das tpl eigentlich so falsch nicht sein. Vor allem weil ich es im wiki gefunden habe und es dort eine Beispielabbildung und eine Beschreibung gibt, die genau das trifft, was ich gebraucht habe.
Das beschriebene tpl ist auch auf der von cyberman geposteten Seite zu finden.
Ich habe bei jeder Unterseite eine "übergeordnete Seite" zugewiesen. Wie gesagt: Es funktioniert alles bei 4 von 7 Menüpunkten.
@antibart: Wie bereits geschrieben, ist das Menü genau so wie ich es brauche und es sind insgesamt 7 Menüpunkte und nur bei dreien werden die Unterpunkte nicht angezeigt. Sonst funktioniert es tadellos, also kann das tpl eigentlich so falsch nicht sein. Vor allem weil ich es im wiki gefunden habe und es dort eine Beispielabbildung und eine Beschreibung gibt, die genau das trifft, was ich gebraucht habe.
Das beschriebene tpl ist auch auf der von cyberman geposteten Seite zu finden.
Ich habe bei jeder Unterseite eine "übergeordnete Seite" zugewiesen. Wie gesagt: Es funktioniert alles bei 4 von 7 Menüpunkten.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Bist Du sicher, dass Du das genau nach Anleitung gemacht hast?
Bei Dir sehe ich aber nur die Hauptmenüpunkte im Quellcode. Und dann auch noch als Links. Und wenn ich draufklicke, wird eine neue Seite geladen. Da ist nix mit Javascript Expand/Collapse.
Also schau Dir nochmal Deine Seitenstruktur an.
Und überlege Dir, ob das wirklich das Template ist was Du brauchst.
Wenn ich das richtig verstanden habe, dann sollten bei Dir alle Hauptmenüpunkte lediglich vom Typ "Sectionheader" (Abschnittsüberschrift) sein. Das bedeutet es gibt keine Links sondern Span-Elemente, denen die Untermenüpunkte als Links untergeordnet sind. Diese sollten aber immer da sein. (also wenn man in den Quellcode der HTML Ausgabe im Browser schaut) Das Expand bzw. Collapsezeugs, die Sichtbarkeit der Untermenüponkte, wird über Javascript geregelt.
Set up your pages like this:
Code: Select all
Pos. | Title | Type ----------------------------------------------------------------------------------- 1 | Home | Content 2 | Section Header | Section Header 2.1 | - Vertical (bulletmenu) | Content 2.2 | - One Content Column | Content 2.3 | - Two Content Columns | Content
Bei Dir sehe ich aber nur die Hauptmenüpunkte im Quellcode. Und dann auch noch als Links. Und wenn ich draufklicke, wird eine neue Seite geladen. Da ist nix mit Javascript Expand/Collapse.
Also schau Dir nochmal Deine Seitenstruktur an.
Und überlege Dir, ob das wirklich das Template ist was Du brauchst.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
An ungefähr so etwas dachte ich auch bei dem Namen des Templates. Deswegen hatte ich diese Vermutung. Und als ich den Einsatz von includeprefix sah, dachte ich: dann reicht doch ein ganz simples Menütemplate...
Dann würdest Du im oberen Menu die unteren Punkte excludieren und hättest zwei Hauptmenüs, die jeweils nur ausgewählte Menüpunkte darstellen. Das untere Menü bekäme dann noch ein "number_of_levels='2'" und fertig. Ist natürlich nicht die flexibelste Lösung. aber eben die einfachste. Als Alternative käme mir dann noch (allerdings nur rein theoretisch) der Einsatz von Sectionheadern und CGSimpleSmarty (dank nochmal für dieses geniale Modul) in den Sinn. Ob es funktioniert, weiß ich allerdings nicht. Aber auch das wäre dann mit einer simple_navigation.
Hier gibt es noch eine vermutlich flexiblere Lösung für mehrere Navigationsboxen mit gleicher hierarchischer Ebene:
http://forum.cmsmadesimple.org/index.ph ... 785.0.html
...
Dann würdest Du im oberen Menu die unteren Punkte excludieren und hättest zwei Hauptmenüs, die jeweils nur ausgewählte Menüpunkte darstellen. Das untere Menü bekäme dann noch ein "number_of_levels='2'" und fertig. Ist natürlich nicht die flexibelste Lösung. aber eben die einfachste. Als Alternative käme mir dann noch (allerdings nur rein theoretisch) der Einsatz von Sectionheadern und CGSimpleSmarty (dank nochmal für dieses geniale Modul) in den Sinn. Ob es funktioniert, weiß ich allerdings nicht. Aber auch das wäre dann mit einer simple_navigation.
Hier gibt es noch eine vermutlich flexiblere Lösung für mehrere Navigationsboxen mit gleicher hierarchischer Ebene:
http://forum.cmsmadesimple.org/index.ph ... 785.0.html
Nöööh .... Meine Templates schreib ich dann doch lieber selbst. Für irgendwas muss ich mich ja dann doch bezahlen lassencyberman wrote:
Hier gibts noch 'ne Menge davon

Last edited by antibart on Tue Feb 24, 2009 6:11 am, edited 1 time in total.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Hallo,
danke für die Antworten. Die Anregungen werde ich mir alle genauer anschauen, allerdings würde mir das trotzdem nicht erklären warum es bei 4 von 7 Menüpunkten funktioniert und nur bei dreien nicht, aber wie gesagt:
Danke ich werde es testen und berichten.
Grüße und Danke!
danke für die Antworten. Die Anregungen werde ich mir alle genauer anschauen, allerdings würde mir das trotzdem nicht erklären warum es bei 4 von 7 Menüpunkten funktioniert und nur bei dreien nicht, aber wie gesagt:
Danke ich werde es testen und berichten.
Grüße und Danke!
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Ähm... sorry, aber was genau funktioniert denn da?naliandra wrote:
allerdings würde mir das trotzdem nicht erklären warum es bei 4 von 7 Menüpunkten funktioniert und nur bei dreien nicht
Wenn ich mir die Seite anschaue, dann ist das ein ganz "normales" Menü dessen Untermenüpunkte erst angezeigt werden, wenn man den übergeordneten Punkt angewählt hat.
Das bekommt man auch mit dem Menütemplate "simple_navigation" und dem Parameter collapse=1 hin.
Was Du haben willst, ist vermutlich, dass die Seite des Hauptmenüpunktes nicht geladen wird, wenn ich drauf klicke, sondern, dass einfach nur der Untermenüpunkt aufklappt, oder?
Schau nochmal in die Anleitung.naliandra wrote:
Das ist der Aufruf im Seiten-Template:
{menu template='side_section_expand' includeprefix='60plus,erwachsene,jugend,studenten,dance4fans,hiphop,kids' collapse='1'}
Merkst Du was?

Dann muss natürlich der Parameter collapse=0 heißen bzw. ganz aus dem Menüaufruf raus.
So stehts auch in der Anleitung.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Hallo,
ich hatte noch keine Zeit mich wieder näher damit zu befassen, aber ich will kurz auf die Frage antworten. Das simple_navigation schaue ich mir natürlich noch genauer an.
Ich akzeptiere natürlich, wenn ihr alle sagt, dass ich das falsche Menü benutze.
Aber auf die Frage von NaN:
Aber wie gesagt: Danke für die Hinweise, wenn das mit der simple Navigation auch geht, werde ich die morgen mal "studieren".
Danke!
ich hatte noch keine Zeit mich wieder näher damit zu befassen, aber ich will kurz auf die Frage antworten. Das simple_navigation schaue ich mir natürlich noch genauer an.
Ich akzeptiere natürlich, wenn ihr alle sagt, dass ich das falsche Menü benutze.
Aber auf die Frage von NaN:
Nein, die Hauptmenüpunkte sind immer eine eigene Seite, auch wenn das teilweise aus dem Inhalt noch nicht hervorgeht, da noch nicht alle Inhalte eingepflegt sind. Also soll sobald man auf einen der Hauptmenüpunkte klickt die Seite auch geladen werden UND die Unterpunkte aufklappen...Was Du haben willst, ist vermutlich, dass die Seite des Hauptmenüpunktes nicht geladen wird, wenn ich drauf klicke, sondern, dass einfach nur der Untermenüpunkt aufklappt, oder?
Aber wie gesagt: Danke für die Hinweise, wenn das mit der simple Navigation auch geht, werde ich die morgen mal "studieren".
Danke!
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Also dann ist section_expand definitiv die falsche Wahl.
Re: Menüunterseiten werden nur bei manchen Menüpunkten angezeigt
Vielen Dank an alle, dank Euch klappt nun alles wie gewünscht.
Vielen vielen Dank!
Vielen vielen Dank!