• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Spain CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: Menumanager vind child van active parent
PostPosted: Fri Sep 30, 2016 2:31 pm 
Offline
Power Poster
Power Poster
User avatar

Joined: Sun Nov 06, 2011 8:15 pm
Posts: 852
Location: Deventer, Netherlands
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

_________________
NextDoorMedia - Maatwerk websites
http://www.nextdoormedia.nl


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Sat Oct 01, 2016 9:52 am 
Offline
Dev Team Member
Dev Team Member
User avatar

Joined: Wed Apr 23, 2008 7:53 am
Posts: 7478
Location: The Netherlands
Je zou dit met een Smarty vergelijking in het menu template prima kunnen maken.
Heb even geen tijd om het te proberen...

_________________
Image

Did my post help you solving a problem at your (customers) website and it saved you many hours of work? Great!! Consider buying me a cup of coffee in return! [ Click here ]



Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Sat Oct 01, 2016 10:34 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Sun Nov 06, 2011 8:15 pm
Posts: 852
Location: Deventer, Netherlands
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.

_________________
NextDoorMedia - Maatwerk websites
http://www.nextdoormedia.nl


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Sat Oct 01, 2016 11:43 am 
Offline
Dev Team Member
Dev Team Member
User avatar

Joined: Wed Apr 23, 2008 7:53 am
Posts: 7478
Location: The Netherlands
Voer voor een nieuwe tutorial lijkt me :)

_________________
Image

Did my post help you solving a problem at your (customers) website and it saved you many hours of work? Great!! Consider buying me a cup of coffee in return! [ Click here ]



Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Sun Oct 02, 2016 1:23 pm 
Offline
Dev Team Member
Dev Team Member

Joined: Mon Nov 28, 2011 9:29 am
Posts: 2951
Location: The Netherlands
Als voorbeeld het Simple Navigation navigator template:

Code:
{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}



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.


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Mon Oct 03, 2016 1:38 pm 
Offline
Power Poster
Power Poster
User avatar

Joined: Sun Nov 06, 2011 8:15 pm
Posts: 852
Location: Deventer, Netherlands
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:

Code:
{* 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}


Zou je daarin kunnen laten zien hoe de 'child' van de 'active parent' bepaald kan worden?

_________________
NextDoorMedia - Maatwerk websites
http://www.nextdoormedia.nl


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Mon Oct 03, 2016 2:28 pm 
Offline
Dev Team Member
Dev Team Member

Joined: Mon Nov 28, 2011 9:29 am
Posts: 2951
Location: The Netherlands
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.


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Menumanager vind child van active parent
PostPosted: Wed Oct 05, 2016 10:06 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Sun Nov 06, 2011 8:15 pm
Posts: 852
Location: Deventer, Netherlands
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.

_________________
NextDoorMedia - Maatwerk websites
http://www.nextdoormedia.nl


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
A2 Hosting