Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Menu BS et active sectionheader sur version 1.9.x
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.11.x
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ Version du CMS
#~ 1.9.4.2
#~ Modules installés
#~ CMSMailer
#~ 2.0.1
#~ FileManager
#~ 1.1.0
#~ MenuManager
#~ 1.7.6
#~ ModuleManager
#~ 1.4.2
#~ News
#~ 2.11.3
#~ nuSOAP
#~ 1.0.2
#~ Printing
#~ 1.1.2
#~ Search
#~ 1.6.10
#~ ThemeManager
#~ 1.1.4
#~ TinyMCE
#~ 2.8.4
#~ babel
#~ 0.4
#~ Album
#~ 0.9.3
#~ FormBuilder
#~ 0.7
#~ FileBackup
#~ 0.5
#~ MysqlDump
#~ 1.2.4
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,
Bon alors je sais, ce n'est pas la derniere version de CMSMS mais pour tout un tas de raisons locales il n'est pas a l'ordre du jour de faire un upgrade desole.
Donc ma question est toute simple, j'ai un menu en BS tout bete dont voici l'extrait qui me pose soucis

Code :
[== Indéfini ==]
    <ul class='nav navbar-nav navbar-right' role='menu'>
    {foreach from=$nodelist item='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} 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>

Mon menu a une structure du type
1 Accueil (contenu page)
2 Rubrique1 (contenu SectionHeader)
2.1 Sous rubrique 1a (contenu page)
2.2 Sous rubrique 1b (contenu page)
3 Rubrique 2 (contenu page)
etc etc

Je voudrais que si je me trouve sur la page 2.1 ou 2.2, la classe du menu [2 Rubrique] (de type SectionHeader) passe en "active" pour pouvoir lui affecter un style specifique. Donc simplement identifier d'une classe la rubrique parente lorsque une des pages children est active.

J'espere etre assez clair.

J'ai eu beau chercher sur G ou sur les forums CMSMS, impossible de trouver une reponse simple que j'aie pu comprendre ou mettre en oeuvre...

Une piste, un exemple, un modele ?

Merci !
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)