Page 1 of 1

{opgelost} Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 4:29 pm
by timdebuurman
Hoi,

Ik gebruik "Section Header (Sectie hoofd)" voor gebruik van een submenu.

Dit werkt alleen als ik op een pagina in het hoofdmenu ben.

Zodra ik op een sub-pagina kom, word het menu-item niet emer als sectie hoofd weergegeven. Hierdoor is de menuknop weer "klikbaar".

Ik gebruk het simple_navigation.tpl sjabloon.

code op normale pagina:

Code: Select all

<li class="sectionheader"><span>Extra</span>

<ul>
<li><a href="http://www.website.nl/extra/submenu1"><span>Submenu1</span></a>
</li>

<li class="separator" style="list-style-type: none;"> <hr />

</li>
<li><a href="http://www.website.nl/extra/submenu2"><span>Submenu2</span></a>
</li>
</ul>

</li>
En de code zodra ik me op 1 van de subpagina's bevind:

Code: Select all

<li class="menuactive menuparent parent"><a class="menuactive menuparent parent" href="#"><span>Extra</span></a>

<ul>
<li><a href="http://www.website.nl/extra/submenu1"><span>Submenu1</span></a>
</li>

<li class="separator" style="list-style-type: none;"> <hr />

</li>
<li><a href="http://www.website.nl/extra/submenu2"><span>Submenu2</span></a>
</li>
</ul>

</li>

Re: Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 4:43 pm
by stv
Importeer je simple_navigation eerst zodat je 'm kan edited (mocht je dat nog niet gedaan hebben). Vergeet 'm niet als standaard in te stellen (als ie eerst ook als standaard stond)

Nu je 'm kan editen, zoek en vervang de volgende code

Code: Select all

  <li class="{$classes}"><a class="{$classes}" href="{$node->url}"><span>{$node->menutext}</span></a>
met

Code: Select all

  <li class="{$classes}">{if $node->type ne 'sectionheader'}<a class="{$classes}" href="{$node->url}">{/if}<span>{$node->menutext}</span>{if $node->type ne 'sectionheader'}</a>{/if}
Wat je in de bovenstaande code zegt is 'als de pagina geen sectionheader is, weergeven, anders niet' ({if $node->type ne 'sectionheader'})

Volgens mij moet je probleem hier mee verholpen zijn.

Re: Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 4:56 pm
by timdebuurman
stv,

bedankt voor je antwoord.

Ik ben er gedeeltelijk mee geholpen.

Ik had namelijk een aanpassing gemaakt in de sjabloon om een id mee te geven aan de li

Na jou aanpassing word de id niet meegegeven aan de huidige pagina, waardoor in mijn geval de afbeelding ervan verdwijnt.

Hier mijn gebruikte menu-sjabloon, inclusief de id en jou aanpassing:

Code: Select all

{* CSS classes used in this template:
.activeparent - The top level parent when a child is the active/current page
li.active0n h3 - n is the depth/level of the node. To style the active page for each level separately. The active page is not clickable.
.clearfix - Used for the unclickable h3 to use the entire width of the li, just like the anchors. See the Tools stylesheet in the default CMSMS installation.
li.sectionheader h3 - To style section header
li.separator - To style the ruler for the separator *} 

{assign var='number_of_levels' value=10000}
{if isset($menuparams.number_of_levels)}
  {assign var='number_of_levels' value=$menuparams.number_of_levels}
{/if}

{if $count > 0}
<ul>
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->parent == true or $node->current == true}
  {assign var='classes' value='menuactive'}
  {if $node->parent == true}
    {assign var='classes' value='menuactive menuparent'}
  {/if}
  {if $node->children_exist == true and $node->depth < $number_of_levels}
    {assign var='classes' value=$classes|cat:' parent'}
  {/if}
  <li class="{$classes}">{if $node->type ne 'sectionheader'}<a class="{$classes}" href="{$node->url}">{/if}<span>{$node->menutext}</span>{if $node->type ne 'sectionheader'}</a>{/if}

{elseif $node->children_exist == true and $node->depth < $number_of_levels and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="parent" id="{$node->alias}"><a class="parent" href="{$node->url}"><span>{$node->menutext}</span></a>

{elseif $node->current == true}
<li class="currentpage" id="{$node->alias}"><h3><span>{$node->menutext}</span></h3>

{elseif $node->type == 'sectionheader'}
<li class="sectionheader" id="{$node->alias}"><span>{$node->menutext}</span>

{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />

{else}
<li id="{$node->alias}"><a href="{$node->url}"><span>{$node->menutext}</span></a>

{/if}

{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}


Re: Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 5:03 pm
by stv
Als je de sectionheader ook een id wilt meegeven dan voeg je

Code: Select all

id="{$node->alias}"
dit toe aan het stuk dat je net gewijzigd had.

Dan wordt het

<li class="{$classes}" id="{$node->alias}">{if $node->type ne 'sectionheader'}<a class="{$classes}" href="{$node->url}">{/if}<span>{$node->menutext}</span>{if $node->type ne 'sectionheader'}</a>{/if}

Re: Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 7:39 pm
by timdebuurman
Super bedankt stv!


Ik was even te snel met vragen.
In mijn geval was het logisch dat de id-aanroep er nog bij moest.

Nu werkt het perfect.

Maarre, als het op deze wel werkt in in de originele template niet, dan zou het template toch altijd zo moeten zijn, dus standaard??

Wellicht iets voor een volgende release?

Re: Fout met Section Header (Sectie hoofd)

Posted: Fri Feb 03, 2012 9:18 pm
by stv
ben het helemaal met je eens. Gelukkig zijn templates er om gewijzigd te worden ;)