Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 30/06/2010 11:39:08

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : [RESOLU] Créer un menu Dropdown

<ul id="topnav">
        <li>
            <a href="#">ENTETE DE SECTION LV1</a>
                        <div class="sub">
                            <ul>
                            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2></li>
                                      <li><a href="#">Lien</a></li>
                                          <li><a href="#">Lien</a></li>

                           </ul>

                           <ul>
                            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2></li>
                                      <li><a href="#">Lien</a></li>
                                          <li><a href="#">Lien</a></li>
                          </ul>                   
            </div>
        </li>
        <li>
            <a href="#">ENTETE DE SECTION LV1</a>
                        <div class="sub">
                            <ul>
                            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2></li>
                                      <li><a href="#">Lien</a></li>
                                          <li><a href="#">Lien</a></li>

                           </ul>

                           <ul>
                            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2></li>
                                      <li><a href="#">Lien</a></li>
                                          <li><a href="#">Lien</a></li>
                          </ul>                   
            </div>
        </li>

</ul>

en rouge : cette balise est inutile, pour preuve nos menus fonctionnent sans. La retirer (si possible) te permettras de te rapprocher d'un menu standard et donc de ne pas devoir t'emmerder à recoder la roue avec un gabarit personnalisé

en bleu des noms de class ou d'ID que tu as personnalisé mais qui restent très proches de ce qui existe déjà chez nous, second argument pour te convaincre qu'entre ton souhait et ce qui existe déjà il n'y a qu'un pas.

En résumé, si tu ne t'y connais pas suffisamment pour refaire un gabarit from-scratch (de zéro) je te conseil d'adapter ton menu existant au gabarit plutôt que l'inverse, visiblement sa structure est sensiblement identique, tu n'auras qu'a personnaliser le CSS du menu par défaut de CMS et hop c'est finit

enfin ca n'est que mon avis personnel, tous les menus de tous mes sites sont toujours un dérivé du modèle original + beaucoup de CSS personnalisé. Jamais de gabarit issu de rien

Hors ligne

#2 30/06/2010 12:38:41

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

<ul id="topnav">
   <li>
      <a href="#">ENTETE DE SECTION LV1</a>
      <div class="sub">
         <ul> 
            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2></li>
ici, ce n'est pas logique : tu n'as pas à fermer ton <li>,
tu dois plutôt ouvrir un <ul> sinon ce serait un lien normal.
et donc, arrête-moi si je me trompe,
ton menu doit apparaître ainsi :
<ul id="topnav">
   <li>
      <a href="#">ENTETE DE SECTION LV1</a>
      <div class="sub">
         <ul>
            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2>
               <ul>
                  <li><a href="#">Lien</a></li> 
                  <li><a href="#">Lien</a></li>
               </ul> 
            </li>
            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2> 
               <ul>
                  <li><a href="#">Lien</a></li> 
                  <li><a href="#">Lien</a></li>
               </ul>
            </li>
         </ul>
      </div>
   </li>
   <li>
      <a href="#">ENTETE DE SECTION LV1</a> 
      <div class="sub"> 
         <ul>
            <li><h2><a href="#">ENTETE DE SECTION LV2</a></h2>
               <ul>
                  <li><a href="#">Lien</a></li> 
                  <li><a href="#">Lien</a></li> 
               </ul>
            </li>               
         </ul>
      </div> 
   </li>
</ul>

Ce serait bien également que tu sois plus précis : est-ce que tous les liens qui ont des enfants sont des entêtes de section ?

Dernière modification par Jean le Chauve (30/06/2010 15:12:05)

Hors ligne

#3 30/06/2010 14:35:59

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

C'est donc bien ce que je disais : tes entêtes de section level 2 ouvrent un sous menu.
Voici le code pour ce que je t'ai proposé

{if $count > 0}
<ul id="topnav">
{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}
</div><!-- fin div sub --></li>
{elseif $node->index > 0}</li>
{/if}
{if $node->type == 'sectionheader' and $node->depth == 1}
<li class="sectionheader level1"><a href="{$node->url}">{$node->menutext}</a><div class="sub">
{elseif $node->type == 'sectionheader' and $node->depth != 1}
<li class="sectionheader level2"><h2><a href="{$node->url}">{$node->menutext}</a></h2>
{else}
<li><a href="{$node->url}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}

Dernière modification par Jean le Chauve (30/06/2010 14:37:30)

Hors ligne

#4 30/06/2010 14:41:14

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

Est-ce que c'est un truc dans ce genre ci : http://www.confederationparascolaire.or … vices.html
Services est le niveau 1
Associations, écoles et enseignants sont de niveau 2
Ces dernières ouvrent un niveau 3 au survol (ici, pas de js, que du css pur smile et correct sur tous navigateurs y comprit IE6)

Hors ligne

#5 30/06/2010 14:47:43

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

C'est bien ce que je croyais, il n'y a pas de lien sur les entêtes de section.
Tu peux faire tout ça uniquement en css, pas besoin de jquery.

Hors ligne

#6 30/06/2010 14:58:14

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Hors ligne

#7 30/06/2010 15:39:10

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

Pour ce que tu as besoin, regarde déjà le gabarit que je t'ai donné plus haut, il devrait te convenir.
Le gabarit de mon menu colonne gauche :

{if $count > 0}
<div id="menuHolder"> 
<ul id="menuOuter"> 
<li class="lv1-li"><!--[if lte IE 6]><a class="lv1-a" href="#"><table><tr><td><![endif]--> 
<ul id="menuInner">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<!--[if gte IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]--><ul class="unli">' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</li></ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent lv2-li current">
<a class="menuactive menuparent lv2-a" 
{elseif $node->current == true}
<li class="menuactive currentSub">
<a class="menuactive" 
{elseif $node->haschildren == true}
<li class="menuparent lv2-li">
<a class="menuparent lv2-a" 
{elseif $node->index == 0}
<li class="lv2-li"><a class="lv2-a" 
{else}
<li>
<a {/if}
{if $node->haschildren == true} href="{$node->url}">{$node->menutext}
{else} href="{$node->url}">{$node->menutext}</a>{/if}
{/foreach}
{repeat string='</li>' times=$node->depth-1}</ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li></ul><!--[if lte IE 6]></td></tr></table></a><![endif]--> 
</li> 
</ul>
<div class="clearb"></div>
</div>
{/if}

Pour qu'il n'apparaisse pas où il n'y a pas d'enfant, je l'ai appelé ainsi dans le gabarit :
{if $cgsimple->get_root_alias() =="nos-services" or $cgsimple->get_root_alias() =="qui-sommes-nous"}
<div class="sidebar">
<h2>Navigation</h2>
{menu template='confede' start_level="2"}
</div>
{/if}
Le menu horizontal étant bloqué au premier niveau avec number_of_levels="1".

Dernière modification par Jean le Chauve (30/06/2010 15:49:01)

Hors ligne

#8 30/06/2010 16:30:52

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [RESOLU] Créer un menu Dropdown

Tu n'as plus qu'à marquer [résolu] dans le titre du post wink

Hors ligne

Pied de page des forums