Page 1 of 1

[opgelost] menu template ... node voor submenu

Posted: Fri Jun 15, 2012 8:13 am
by pedes
Ik wil in mijn menu template willen zien of het een submenu item betreft of niet.
Hoofd menu items worden tussen <b></b> tags geplaatst , maar submenu item mogen deze tags niet krijgen.

mijn menu template ziet er nu 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 class="select">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="sub">' 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}"><b>{$node->menutext}</b></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}"><b>{$node->menutext}</b></a>

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

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

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

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

{/if}

{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
met deze template wordt het menu zo opgebouwd:

Code: Select all

<ul class="select">
<li><a><b>item1</b></a>

<ul class="sub">
<li><a><b>submenu item1</b></a></li>
</ul>

</li>
</ul>
Maar het submenu item mag geen <b></b> tags krijgen ... dus hoe geef ik in mijn menu template in dat het een submenu item betreft.

Mvg,
Peter

Re: menu template ... node voor submenu

Posted: Fri Jun 15, 2012 8:42 am
by Rolf
Ik zou de menu styling <b></b> in de stylesheet opnemen. Zoiets als:

Code: Select all

#menu ul li {
font-weight: bold;
}
#menu ul li li {
font-weight: normal;
}
Grtz. Rolf

Re: menu template ... node voor submenu

Posted: Fri Jun 15, 2012 11:36 am
by pedes
rolf, ik heb mij wellicht verkeerd uitgedrukt, de <b> tag wordt niet specifiek gebruikt voor 'bold' maar om een onderscheid te maken tussen hoofd en sub menu.
het gaat om een specifiek css menu uit het gamma van cssplay:
dropline menu

dus wil ik in de menu template onderscheid maken tussen hoofd en sub menu.

Mvg,
Peter

Re: menu template ... node voor submenu

Posted: Sun Jun 17, 2012 11:44 pm
by pedes
is er geen mogelijkheid om in de menu template onderscheid te maken tussen hoofd en sub menu ,
of zie ik dit vekeerd ... misschien met een if else functie ?

iemand een idee

Mvg,
Peter

Re: menu template ... node voor submenu

Posted: Mon Jun 18, 2012 10:50 am
by Rolf
uhm ja het moet zeker wel kunnen... Ben zelf niet zo'n expert in menu templates, dus ik heb geen kant-en-klaar antwoord.
Je zou eens moeten kijken in een andere standaard template, daar wordt ook gewerkt met "activeparent" en zo. Wellicht dat je daar iets kan uithalen.

grtz. Rolf

Re: menu template ... node voor submenu

Posted: Mon Jun 18, 2012 11:14 am
by mcDavid
pedes wrote:rolf, ik heb mij wellicht verkeerd uitgedrukt, de <b> tag wordt niet specifiek gebruikt voor 'bold' maar om een onderscheid te maken tussen hoofd en sub menu.
het gaat om een specifiek css menu uit het gamma van cssplay:
dropline menu

dus wil ik in de menu template onderscheid maken tussen hoofd en sub menu.

Mvg,
Peter
Ben ik het niet mee eens, het menu werkt net zo goed zonder die <b> tags en de stijl die eraan hangt kun je ook net zo goed aan de <a> of <li> hangen. Je kunt dit prima met CSS oplossen.

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 4:40 am
by pedes
dank voor jullie reacties, maar ik krijg het niet voor elkaar, wellicht zie ik iets over het hoofd.
Ik heb het geheel even online gezet, misschien is er iemand die mij een tip kan geven.
Enkel bij 'behandelingen' zit er nu een submenu en dat is qua layout niet zoals het zou moeten zijn. Alles werkte tot dat ik het geheel in CMSMS importeerde.

de uitkomst is zoals op dit menu, maar de knoppen zijn wat groter gemaakt.

alvast bedankt.
Mvg,
Peter

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 11:33 am
by timdebuurman
Heb je een andere link?
Bovenstaande gaat naar een tijdelijke startpagina.

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 12:39 pm
by pedes
sorry Tim u hebt inderdaad gelijk

dit is de juiste
onder behandelingen zit dan het submenu

thxs
Peter

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 2:42 pm
by timdebuurman
Aparte css voor het menu zo te zien.

Het word me niet echt duidelijk hoe het submenu zichtbaar word bij hover.

Het is niet zo dat de ul li ul van display: none naar disply: block gaat.

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 4:02 pm
by stv
Volgens mij zoek je dit:

{if $node->depth eq '1'}<b>{/if}{$node->menutext}{if $node->depth eq '1'}</b>{/if}

Code: Select all

{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 class="select">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="sub">' 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}">{if $node->depth eq '1'}<b>{/if}{$node->menutext}{if $node->depth eq '1'}</b>{/if}</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}">{if $node->depth eq '1'}<b>{/if}{$node->menutext}{if $node->depth eq '1'}</b>{/if}</a>

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

{elseif $node->type == 'sectionheader'}
<li class="sectionheader">{if $node->depth eq '1'}<b>{/if}{$node->menutext}{if $node->depth eq '1'}</b>{/if}

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

{else}
<li><a href="{$node->url}">{if $node->depth eq '1'}<b>{/if}{$node->menutext}{if $node->depth eq '1'}</b>{/if}</a>

{/if}

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

Re: menu template ... node voor submenu

Posted: Tue Jun 19, 2012 11:03 pm
by mcDavid
Hmm als ik dat menu zo bekijk met firebug zou ik zeggen: Gooi de hele CSS weg en begin overnieuw, mijn god wat onnodig omslachtig is dat!

Re: menu template ... node voor submenu

Posted: Wed Jun 20, 2012 7:22 am
by Rolf
mcDavid wrote:Hmm als ik dat menu zo bekijk met firebug zou ik zeggen: Gooi de hele CSS weg en begin overnieuw, mijn god wat onnodig omslachtig is dat!
mcDavid:
Tweede (en laatste) waarschuwing... Let op je woorden en behandel iedereen met een beetje respect!
Forumregels: http://forum.cmsmadesimple.org/viewtopi ... 13&t=40709

Rolf

Re: menu template ... node voor submenu

Posted: Wed Jun 20, 2012 7:53 am
by pedes
@stv
dit is inderdaad de oplossing, ik wist echt niet hoe het submenu te detecteren in de menutemplate , maar dit werkt perfect.
het is een goede aanvulling voor iedereen denk ik, hartelijk dank voor uw bijdrage.

@mcDavid
ipv van altijd maar onnodig commentaar te geven en iedereen af te snauwen zou je ook kunnen helpen zoeken naar een oplossing
Oplossingen zoals stv aanbrengt zijn goed voor de volledige cmsms community, dit zal tenminste meerdere mensen verder helpen.

Bij deze is dit opgelost, waarvoor speciale dank aan stv !

mvg,
Peter

Re: [opgelost] menu template ... node voor submenu

Posted: Wed Jun 20, 2012 10:28 am
by mcDavid
Sorry ik wil niemand op de tenen trappen hoor, mijn excuses als dat zo overkwam... Ik wou alleen aangeven dat dit menu-template wat mij betreft gewoon niet erg netjes in elkaar zit. Was ook nog van plan om vandaag (kijk naar het post-tijdstip, had toen niet zoveel zin in hard nadenken) een betere opzet te posten maar dat hoeft zo te zien al niet meer.