Hoi,
In de menumanager heb ik het nodig om te bepalen of een sub-item een 'child' is van een actieve 'parent'.
Die optie zit er standaard niet in zo te zien en ik vraag me af hoe ik dit toch kan bepalen.
Dit omdat ik het submenu anders wil maken zodra ik op een actieve pagina ben.
Hopelijk leg ik het goed genoeg uit zo...
gr Tim
Menumanager vind child van active parent
Moderator: velden
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
- Location: Deventer, Netherlands
Menumanager vind child van active parent
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
- Rolf
- Dev Team Member
- Posts: 7825
- Joined: Wed Apr 23, 2008 7:53 am
- Location: The Netherlands
- Contact:
Re: Menumanager vind child van active parent
Je zou dit met een Smarty vergelijking in het menu template prima kunnen maken.
Heb even geen tijd om het te proberen...
Heb even geen tijd om het te proberen...
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
- Location: Deventer, Netherlands
Re: Menumanager vind child van active parent
Misschien mis ik dan net de (smarty-)kennis om dat voor elkaar te krijgen.
Het zou fijn zijn als je hier later nog naar wilt kijken.
Het zou fijn zijn als je hier later nog naar wilt kijken.
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
- Rolf
- Dev Team Member
- Posts: 7825
- Joined: Wed Apr 23, 2008 7:53 am
- Location: The Netherlands
- Contact:
Re: Menumanager vind child van active parent
Voer voor een nieuwe tutorial lijkt me
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Menumanager vind child van active parent
Als voorbeeld het Simple Navigation navigator template:
Merk op dat dit maar één level diep doorwerkt. Dus enkel de directe childs van de actieve node. Als je het dieper wilt (dus ook weer children van de children) dan moet je het een klein beetje aanpassen.
Code: Select all
{function name=Nav_menu depth=1}{strip}
<ul>
{foreach $data as $node}
{if $activeparent}<!-- ACTIVEPARENT -->{/if} {* <-- deze regel toevoegen als test *}
{* setup classes for the anchor and list item *}
...
{if isset($node->children)}
{Nav_menu data=$node->children depth=$depth+1 activeparent=$node->current} {* voeg de activeparent parameter toe*}
{/if}
...
{if isset($node->children)}
{Nav_menu data=$node->children depth=$depth+1 activeparent=$node->current} {* voeg de activeparent parameter toe*}
{/if}
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
- Location: Deventer, Netherlands
Re: Menumanager vind child van active parent
Bedankt voor het meedenken.
Ik zit in dit geval nog op een 1.12.2 versie (vanwege het nog niet compatible zijn van enkele nodige modules)
Hierbij ziet de standaard (simple navigation) er zo uit:
Zou je daarin kunnen laten zien hoe de 'child' van de 'active parent' bepaald kan worden?
Ik zit in dit geval nog op een 1.12.2 versie (vanwege het nog niet compatible zijn van enkele nodige modules)
Hierbij ziet de standaard (simple navigation) er zo uit:
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}"><a class="{$classes}" href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->children_exist == true and $node->depth < $number_of_levels and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="parent"><a class="parent" href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->current == true}
<li class="currentpage"><h3><span>{$node->menutext}</span></h3>
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span>{$node->menutext}</span>
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />
{else}
<li><a href="{$node->url}"><span>{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
Re: Menumanager vind child van active parent
Waarschijnlijk wel met veel werk.
Er is een reden dat er voor de nieuwe Navigator is gekozen, en zoals je ziet maakt die dergelijke zaken veel eenvoudiger.
Er is een reden dat er voor de nieuwe Navigator is gekozen, en zoals je ziet maakt die dergelijke zaken veel eenvoudiger.
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
- Location: Deventer, Netherlands
Re: Menumanager vind child van active parent
Oke, bedankt voor het meedenken.
Ik heb het voor nu op kunnen lossen met Javascript, die de href van een submenu item aanpast als de parent een active klasse heeft.
Niet de mooiste oplossing, maar het werkt voor nu.
Ik heb het voor nu op kunnen lossen met Javascript, die de href van een submenu item aanpast als de parent een active klasse heeft.
Niet de mooiste oplossing, maar het werkt voor nu.
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl