Menu Template
Posted: Tue Feb 26, 2013 9:17 pm
Ik wil het volgende realiseren, maar krijg het maar niet voor elkaar:
Het gaat om een menu template voor level 2 & 3 menu items, aangeroepen door {menu start_level="2" number_of_levels="2"}
De hierarchie is alsvolgt, maar er kunnen in de toekomst nog elementen bijkomen bij zowel level 2 als 3.
Ik wil de volgende HTML code laten genereren:
En dat dus voor ieder level 2 item.
Ik had tot dusver deze code, maar dat werkt alleen als er maar 2 items in level 3 bestaan per 'parent'. Dit komt omdat ik ik laat kijken of de prevdepth gelijk is aan 2, wat dus wil zeggen dat het een level 3 item betreft wat zich na een ander level 3 item bevind. Daarna laat ik de </div> afsluiten. Echter krijg je dus bij drie of meer items in level 3 het probleem dat de </div> vaker gesloten wordt, terwijl het alleen steeds bij het laatste item in level 3 moet gelden.
Het gaat om een menu template voor level 2 & 3 menu items, aangeroepen door {menu start_level="2" number_of_levels="2"}
De hierarchie is alsvolgt, maar er kunnen in de toekomst nog elementen bijkomen bij zowel level 2 als 3.
Code: Select all
2.1 titel
----2.1.1 titel
----2.1.2 titel
2.2 titel
----2.2.1 titel
2.3 titel
----2.3.1 titel
----2.3.2 titel
----2.3.3 titel
2.4 titel
----2.4.1 titel
----2.4.2 titel
Code: Select all
<div class="blok" onclick="linknaaritem">
<h2>{titel level 2 item}</h2>
{titel level 3 item 1}
{titel level 3 item 2}
{titel level 3 item 3 etc.}
</div>
Ik had tot dusver deze code, maar dat werkt alleen als er maar 2 items in level 3 bestaan per 'parent'. Dit komt omdat ik ik laat kijken of de prevdepth gelijk is aan 2, wat dus wil zeggen dat het een level 3 item betreft wat zich na een ander level 3 item bevind. Daarna laat ik de </div> afsluiten. Echter krijg je dus bij drie of meer items in level 3 het probleem dat de </div> vaker gesloten wordt, terwijl het alleen steeds bij het laatste item in level 3 moet gelden.
Code: Select all
{foreach from=$nodelist item=node}
{if $node->depth == 1}
<div class="blok" onclick="window.open('{$node->url}','_self')" >
<h2>{$node->menutext}</h2>
{elseif $node->prevdepth == 2}
{$node->menutext}
</div>
{else}
{$node->menutext}<br />
{/if}
{/foreach}