[gelöst] MenuManager Template - bitte hilfe

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
uniqu3

[gelöst] MenuManager Template - bitte hilfe

Post 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
Last edited by uniqu3 on Fri Jul 16, 2010 4:29 pm, edited 1 time in total.
mike-r

Re: MenuManager Template - bitte hilfe

Post 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.
NaN

Re: MenuManager Template - bitte hilfe

Post 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.
uniqu3

Re: MenuManager Template - bitte hilfe

Post 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 :-)
Last edited by uniqu3 on Fri Jul 16, 2010 2:56 pm, edited 1 time in total.
NaN

Re: MenuManager Template - bitte hilfe

Post 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
uniqu3

Re: MenuManager Template - bitte hilfe

Post 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.
NaN

Re: MenuManager Template - bitte hilfe

Post 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 ;)
owr_bgld

Re: MenuManager Template - bitte hilfe

Post 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
uniqu3

Re: MenuManager Template - bitte hilfe

Post 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  ;D
owr_bgld

Re: MenuManager Template - bitte hilfe

Post 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
uniqu3

Re: MenuManager Template - bitte hilfe

Post 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.
owr_bgld

Re: MenuManager Template - bitte hilfe

Post by owr_bgld »

bei der Hitze - da kommt das schon vor  ;D 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 8)
uniqu3

Re: MenuManager Template - bitte hilfe

Post by uniqu3 »

Na dann trink noch eins auf mich  :) ich muss warten bis mein Sohnemann ins bett wandert.
owr_bgld

Re: MenuManager Template - bitte hilfe

Post by owr_bgld »

Mach ich doch glatt  ;D

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}
uniqu3

Re: MenuManager Template - bitte hilfe

Post by uniqu3 »

Na dann halt noch link zu DynamicDrive für denn restlichen aufbau  :)
http://www.dynamicdrive.com/dynamicinde ... onmenu.htm
Post Reply

Return to “Layout und Design”