Page 1 of 1
[gelöst] MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 2:30 pm
by uniqu3
Hallo Leute,
ich hab so ein MenuManager template erstellt das nicht ganz so wie ich will funktioniert.
Das Problem ist das beim letzten Link das nicht geschlossen wird und ich bin einfach blind und sehe den Fehler nicht.
Mein MM Template:
Code: Select all
{if $count > 0}
<div class="glossymenu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<div class="submenu"><ul>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</ul></div>" times=$node->prevdepth-$node->depth}
{elseif $node->index > 0}
{/if}
{if $node->current == true}
<a href="{$node->url}" class="menuitem current"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{elseif $node->haschildren == true}
<a href="{$node->url}" class="menuitem submenuheader"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{elseif $node->depth == 2 and $node->current == true}
<li><a class="current" href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a></li>
{elseif $node->depth == 2}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a></li>{elseif $node->type == 'sectionheader'}
<a href="{$node->url}" class="menuitem submenuheader"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>{else}
<a class="menuitem" href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>{/if}{/foreach}
</div>
{/if}
Demo:
http://demo.i-arts.eu/home
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 2:40 pm
by mike-r
Ohne das jetzt getestet zu haben, oder da übermässig durchzublicken, nehme ich an, das Du das in der letzten Zeile vor dem schliessenden DIV reintun solltest.
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 2:47 pm
by NaN
So ähnlich.
Es wird ja nicht für jede Ebene eine Liste erzeugt.
Daher kann es auch dazu führen, dass ein auftaucht, obwohl gar kein zugehöriges existiert.
Versuchs mal damit am Ende bevor Du das div "glossymenu" wieder schließt (habs auch noch nicht getestet):
{repeat string="" times=$node->depth-2}
Bei dem "$node->depth-2" musst Du vermutlich mit der Zahl noch etwas rumprobieren, da Du ja nicht in jeder Ebene eine Liste erzeugst.
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 2:50 pm
by uniqu3
@mike-r nein nicht wirklich, ich habs aus einem beispiel von der dynamicdrive seite.
Es ist nicht so ganz korrekt aufgebaut aber egal.
Das ganze ist in einem die haupt links werden ohne unordered list aufgebaut, sprich einfach blah
Wenn link oder separator auch kinder hat wird dann class="submenuheader" hinzugefügt und die Unternavigation in einem mit aufgebaut.
Edit: ok NaN hat in zwischenzeit auch geantwortet.
@NaN hat leider nix gebracht aufbau ist gleich, hab aber auch das nächste problem gefunden das sectionheader egal ob mit kinder oder ohne immer class submenuheader erhält was nicht sein soll.
Das versuchte ich mit {elseif $node->type == 'sectionheader' and $node->haschildren == false} zu lösen aber auch ohne erfolg.
Ich glaub ich hab den ganzen MM Template aufbau falsch angefangen

Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:05 pm
by NaN
Wozu brauchst Du denn die Dynamic Drive Vorlage?
Für die Slide-Effekte?
Ich hatte mal im englischen Forum ein Tutorial gepostet nach dem man sowas auch ohne irgendwelche Plugins, extra Menü-Templates etc. sondern einfach nur mit einem Standard CMSms MenüTemplate, jQuery und ein eigenes kleines Javascript realisieren kann:
http://forum.cmsmadesimple.org/index.php?topic=36152.0
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:10 pm
by uniqu3
Na ja ich hatte auch schon lösungen, doch kunde wollte genau so eins, und ich habs mir gedacht warum styles neu schreiben wenn schon alles da ist, na ja hab mich wohl getäuscht.
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:16 pm
by NaN
Ja, entweder man spart sich Styles, hat aber dafür Stress mit dem Template, oder man spart sich das Template, hat aber dann Arbeit mit den Styles.
Ich persönlich entscheide mich in den meisten Fällen für Letzteres.
Stylesheets und Javascripte für ein sauberes Menütemplate zu erstellen, ist meiner Meinung nach viel einfacher als umgekehrt, ein sauberes Template zu erstellen, was dabei aber auf die Stylesheets und Javascripte Rücksicht nehmen muss.
PS: Man sollte dem Kunden nie genau das geben, was er glaubt zu wollen.
Denn wirlklich wissen, tut er es leider in den allerwenigsten Fällen

Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:32 pm
by owr_bgld
punkto sectionheader kann ich dir mal weiterhelfen:
{elseif $node->type == 'sectionheader'}
Hier hast du keine Abfrage, ob der Kinder hat oder nicht, also
{elseif $node->type == 'sectionheader'} if haschildren submenuheader else andereKlasse
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:50 pm
by uniqu3
Danke owr_web, das hab ich schon gelöst, ja wenn mann nicht augen öffnet, aber noch immer ärgert mich das fehlende grrrrrr.
@NaN ja ich bevorzuge eigentlich mein eigenes styling etc. aber wenn es ein mini auftrag ist wie erstell mir navigation die genau so wie das da funktioniert, dann nehme ich auch das was kunde will, es ist nicht so das ich sowas in mein portfolio aufnehmen will

Aber so täuscht mann sich und aus 15 min. job wird nerven zerreisen

Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:53 pm
by owr_bgld
Eigentlich hatte NaN ja sicher schon recht, aber da fehlt wahrscheinlich auch noch das /div drinnen. und falls jetzt eines zuviel ist, dann einfach depth-2 (wie NaN vorgeschlagen hat)
Du hast zwar das mit dem sectionheader schon gelöst, aber da ich grade am schreiben war, lasse ich meinen Vorschlag gleich drinnen - schaun ob er richtig ist.
uniqu3 wrote:
{if $count > 0}
.....
{elseif $node->type == 'sectionheader'}
url}" class="menuitem{if $node->haschildren == true} submenuheader{/if}"{if $node->target ne ""} target="{$node->target}"
.......
{/foreach}
{repeat string="" times=$node->depth-1}
{/if}
Demo:
http://demo.i-arts.eu/home
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:55 pm
by uniqu3
Danke owr_web, wie ich schon sagte, wenn ich meine Augen nicht öffnen kann und mich konzentrieren bin ich wohl selber schuld
Das klappt jetzt einwandfrei.
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 3:58 pm
by owr_bgld
bei der Hitze - da kommt das schon vor

und NaN hat ja den Elfer aufgelegt, ich brauchte nur mehr zu verwerten. Na da drink ich doch ein kühles Blondes auf dein funktionierendes Template bei fast 38° im Schatten

Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 4:02 pm
by uniqu3
Na dann trink noch eins auf mich

ich muss warten bis mein Sohnemann ins bett wandert.
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 4:10 pm
by owr_bgld
Mach ich doch glatt
Und damit sich andere auch auskennen, was jetzt genau wo geändert wurde, das ganze Template nochmal mit den Änderungen und ein wenig strukturiert:
Code: Select all
{if $count > 0}
<div class="glossymenu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<div class="submenu"><ul>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</ul></div>" times=$node->prevdepth-$node->depth}
{elseif $node->index > 0}
{/if}
{if $node->current == true}
<a href="{$node->url}" class="menuitem current"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{elseif $node->haschildren == true}
<a href="{$node->url}" class="menuitem submenuheader"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{elseif $node->depth == 2 and $node->current == true}
<li><a class="current" href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a></li>
{elseif $node->depth == 2}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a></li>
{elseif $node->type == 'sectionheader'}
<a href="{$node->url}" class="menuitem{if $node->haschildren == true} submenuheader{/if}"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{else}
<a class="menuitem" href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</ul></div>" times=$node->depth-1}
</div>
{/if}
Re: MenuManager Template - bitte hilfe
Posted: Fri Jul 16, 2010 4:15 pm
by uniqu3
Na dann halt noch link zu DynamicDrive für denn restlichen aufbau
http://www.dynamicdrive.com/dynamicinde ... onmenu.htm