Page 1 of 1
(Opgelost) Menu sjabloon voor Bootstrap
Posted: Tue Sep 16, 2014 12:58 pm
by 3dwebb
Hallo,
Ik probeer de volgende template werkend te krijgen in CMSMS, echter heb ik nog een klein issue met het menu.
http://bootstraptaste.com/theme/squadfree/
De normale stuctuur vna het menu ziet er als volgt uit:
Code: Select all
<ul class="nav navbar-nav">
<li class=""><a href="#intro">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#service">Service</a></li>
<li><a href="#contact">Contact</a></li>
<li class="">
<a href="#" class="" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul>
<li><a href="#">Example menu</a></li>
<li><a href="#">Example menu</a></li>
<li><a href="#">Example menu</a></li>
</ul>
</li>
</ul>
Mijn menu sjabloon ziet er als volgt uit
Code: Select all
{if $count > 0}
<ul class="nav navbar-nav">
{foreach from=$nodelist item=node}
{if $node->index > 0}
{/if}
<li><a href="#{$node->alias}" title="Link to the {$node->menutext} page" "{if $node->target ne ""} target="{$node->target}" {/if}{if $node->accesskey != ''} accesskey="{$node->accesskey}" {/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}" {/if}>{$node->menutext}</a>
{/foreach}
</li>
</ul>
{/if}
Nu werkt de css opmaak voor het dropdownmenu niet helemaal. Kan ik dit makkelijk aanpassen in de menu template of zal ik de css opmaak moeten gaan aanpassen.
Re: Menu sjabloon
Posted: Tue Sep 16, 2014 1:56 pm
by velden
Ik zou het menu template aanpassen.
Lees even de help, daarin staan wat attributen waarop je kunt controleren:
$node->haschildren -- Returns true if this node has child nodes to be displayed
$node->children_exist -- Returns true if this node has child nodes available in the database that can be displayed in the menu
$node->parent -- True if this node is a parent of the currently selected page
Re: Menu sjabloon
Posted: Tue Sep 16, 2014 2:48 pm
by 3dwebb
Mijn kennis om zelf het menu sjabloon aan te passen is nog te beperkt. Ik heb al andere sjablonen gebruikt zoals cssmenu.tpl en simple_navigation.tpl en daar de css class aan gekoppeld, echter werken deze niet goed.
Re: Menu sjabloon
Posted: Tue Sep 16, 2014 8:08 pm
by velden
3dwebb wrote:Mijn kennis om zelf het menu sjabloon aan te passen is nog te beperkt. Ik heb al andere sjablonen gebruikt zoals cssmenu.tpl en simple_navigation.tpl en daar de css class aan gekoppeld, echter werken deze niet goed.
De zoekfunctie van het forum werkt ook gewoon hoor
Misschien kun je hier iets mee. Om inzicht te krijgen of misschien werkt het wel al gewoon in jouw situatie.
http://forum.cmsmadesimple.org/viewtopi ... 33#p306033
Re: Menu sjabloon
Posted: Wed Sep 17, 2014 9:00 am
by pasmaskas
Mischien werkt hij zo?
Ik heb even een bestaant menusjabloon aangepast:
Code: Select all
{if $count > 0}
<ul class="nav navbar-nav">
{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->current == true}
<li class="active"><a href="#{$node->menutext}">{$node->menutext}</a>
{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a href="#{$node->menutext}" class="dropdown-menu"> {$node->menutext} </a>
{elseif $node->type == 'sectionheader'}
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">{$node->menutext}</a>
{elseif $node->type == 'separator'}
<li>
{else}
<li><a href="#{$node->menutext}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Re: Menu sjabloon
Posted: Wed Sep 17, 2014 9:07 am
by 3dwebb
Dank voor de link. Had ook gezocht maar dit niet gevonden. Nu werkt het submenu wel , echter doordat ik mijn site 2-talig heb en level 1 uitgeschakeld werkt het niet met onderstaande menu code. Hierdoor verdwijnt het menu helemaal. Hoor graag of dit makkelijk op te lossen is.
Code: Select all
{menu template='scrollable' start_level="2" number_of_levels="2" start_page="nl"}
Re: Menu sjabloon
Posted: Wed Sep 17, 2014 9:33 am
by 3dwebb
pasmaskas wrote:Mischien werkt hij zo?
Ik heb even een bestaant menusjabloon aangepast:
Code: Select all
{if $count > 0}
<ul class="nav navbar-nav">
{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->current == true}
<li class="active"><a href="#{$node->menutext}">{$node->menutext}</a>
{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a href="#{$node->menutext}" class="dropdown-menu"> {$node->menutext} </a>
{elseif $node->type == 'sectionheader'}
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">{$node->menutext}</a>
{elseif $node->type == 'separator'}
<li>
{else}
<li><a href="#{$node->menutext}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Werkt beter met onderstaande code
Code: Select all
{if $count > 0}
<ul class="nav navbar-nav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="dropdown-menu">' 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}
{$classes=''}
{if $node->parent == true or $node->current == true}
{$classes='active'}
{if $node->parent== true}{$classes=$classes|cat:' parent'}{/if}
{/if}
{if $node->type == 'sectionheader'}
{if $node->haschildren == true}
<li class="dropdown {$classes}"><a class="dropdown-toggle {$classes}" data-toggle="dropdown"><span>{$node->menutext}</span></a>
{else}
<li class="nav-header">{$node->menutext}</li>
{/if}
{elseif $node->type == 'separator'}
<li style="divider">
{elseif $node->haschildren == true}
<li class="dropdown {$classes}"><a class="dropdown-toggle {$classes}" data-toggle="dropdown" {if $node->target}target="{$node->target}" {/if}
href="{$node->url}"><span>{$node->menutext}</span></a>
{else}
<li class="{$classes}"><a href="#{$node->alias}" class="{$classes}" {if $node->target}target="{$node->target}" {/if}
href="{$node->url}"><span>{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
{/if}
Re: Menu sjabloon
Posted: Wed Sep 17, 2014 11:31 am
by velden
3dwebb wrote:Dank voor de link. Had ook gezocht maar dit niet gevonden. Nu werkt het submenu wel , echter doordat ik mijn site 2-talig heb en level 1 uitgeschakeld werkt het niet met onderstaande menu code. Hierdoor verdwijnt het menu helemaal. Hoor graag of dit makkelijk op te lossen is.
Code: Select all
{menu template='scrollable' start_level="2" number_of_levels="2" start_page="nl"}
Ik weet het niet zeker, maar volgens mij is start_level en start_page dubbel-op/tegenstrijdig.
Re: Menu sjabloon
Posted: Fri Sep 19, 2014 9:01 am
by 3dwebb
Heb het probleem met de menu levels niet kunnen oplossen, dus heb alle paginas op level 1 gezet waardoor het menu wel goed werkt en de regel [excludeprefix="pages"] gebruikt.