Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 29. November 2013 15:05

dylan
kennt CMS/ms
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 303

[GELÖST] Bootstrap for CMSMS Menü auf Ver. 3 anpassen

Ich habe das Menütemplate aus Gorans Template Bootstrap for CMSMS für eine Bootstrap 3.0.2 Seite entnommen.
Das Template wurde in Bootstrap 2 geschrieben. In Bootstrap 3 hat's anscheinend leichte nav Anpassungen gegeben, die dropdowns machen nun Probleme:

Bootstrap 3 Quellcode:
<li class="dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown">
<ul class="dropdown-menu" role="menu">

Mein Quellcode mit Gorans Menütemplate:
<li class="dropdown">
<a class="dropdown leistungen" href="http://www.domain.de/leistungen.html">
<ul class="dropdown-menu" role="menu" style="display: none;“>

Die classes "dropdown-toggle" und data-toggle="dropdown" sind neu hinzugekommen, fehlen im Menütemplate:

[== Smarty ==]
{strip}

{if $count > 0}
    <ul class='nav nav-pills menupos' role='menu'>
    {* if using cmsms lower then 1.11 change foreach below to {foreach from=$nodelist item='node'} *}
    {foreach $nodelist as $node} 
        
        {* if depth is greater then previous we need ul *}
        {if $node->depth > $node->prevdepth}
            {repeat string="<ul class='dropdown-menu' role='menu'>" times=$node->depth-$node->prevdepth}   
        {* if depth is lower then we have to close unordered list *}
        {elseif $node->depth < $node->prevdepth}
            {repeat string='</li></ul>' times=$node->prevdepth-$node->depth}
            </li>
        {elseif $node->index > 0}
            </li>
        {/if}
        
        {* is menu item current? *}
        {if $node->current == true}
        
            <li class='active{if $node->parent == true || $node->haschildren == true}{if $node->depth > 1} dropdown-submenu{else} dropdown{/if}{/if}'>
                <a href='{$node->url}' {if $node->parent == true || $node->haschildren == true}class='dropdown-toggle {$node->alias}' data-toggle='dropdown' data-target='#'{else}class='{$node->alias}'{/if}{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{if ($node->parent == true || $node->haschildren == true) && ($node->depth < 2)} <b class='caret'></b>{/if}</a>        
        
        {* is menu item parent and not sectionheader? *}
        {elseif $node->parent == true && ($node->type != 'sectionheader' && $node->type != 'separator')}
        
            <li class='{if $node->parent == true || $node->haschildren == true} active{if $node->depth > 1} dropdown-submenu{else} dropdown{/if}{/if}'>
                <a href='{$node->url}' data-toggle='dropdown' data-target='#' class='dropdown-toggle active {$node->alias}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{if ($node->parent == true || $node->haschildren == true) && ($node->depth < 2)} <b class='caret'></b>{/if}</a>        
       
        {* is menu item a sectionheader? *}
        {elseif $node->type == 'sectionheader' && ($node->parent == true || $node->haschildren == true)}
            <li class='sectionheader {if $node->depth > 1} dropdown-submenu{else} dropdown{/if}'>
                <a href='#' data-toggle='dropdown' class='dropdown-toggle {$node->alias}{if $node->current == true} active{/if}'>{$node->menutext}{if ($node->parent == true || $node->haschildren == true) && ($node->depth < 2)} <b class='caret'></b>{/if}</a>
        
        {* and sectionheader has no children? *}
        {elseif $node->type == 'sectionheader' && $node->haschildren == false}
            <li class='sectionheader nav-header'>
                {$node->menutext}             
        
        {* should a menu item be separated? *} 
        {elseif $node->type == 'separator'}
            <li class='divider'>
        
        {else}
            <li{if $node->parent == true || $node->haschildren == true} class='{if $node->depth > 1}dropdown-submenu{else}dropdown{/if}'{/if}>
                <a href='{$node->url}' {if $node->parent == true || $node->haschildren == true}class='dropdown {$node->alias}'{else}class='{$node->alias}'{/if}{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{if ($node->parent == true || $node->haschildren == true) && ($node->depth < 2)} <b class='caret'></b>{/if}</a>
        {/if}
        
    {/foreach}

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

{/strip}

Wurde das Menü evtl. schon von jemandem auf Bootstrap 3 angepasst? Falls Nein, könnte jemand Hilfestellung geben?

Offline

#2 30. November 2013 06:24

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Bootstrap for CMSMS Menü auf Ver. 3 anpassen

CG hatte dazu vor kurzem eine Lösung gepostet

http://forum.cmsmadesimple.org/viewtopi … +3#p306033

Vllt hilft es dir weiter ...

Offline

#3 30. November 2013 11:05

dylan
kennt CMS/ms
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 303

Re: [GELÖST] Bootstrap for CMSMS Menü auf Ver. 3 anpassen

Danke. Bis zur 2. Ebene funktioniert es, darüber hinaus leider nicht.

1.1 = Ja
1.1.1 = Nein

CG's Kommentar

1: Bootstrap 3 doesn't support more than 2 levels by default
2: Bootstrap 3 doesn't support hovering to activate the dropdowns by default
(this iis prolly because some mobile devices don't support the hover)
so pages with children we behave like sectionheaders.

lässt vermuten das es mit dem hauseigenen Bootstrap menu nicht zu lösen ist. Ich werde eine andere Lösung suchen müssen.

Offline

#4 30. November 2013 18:43

dylan
kennt CMS/ms
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 303

Re: [GELÖST] Bootstrap for CMSMS Menü auf Ver. 3 anpassen

Lösung gefunden!
Ich habe mich für SmartMenus jQuery entschieden.

Offline