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.