Menu - Affichage de certains éléments -
scorman - 24/10/2012
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
J'avoue avoir beaucoup de mal à trouver le code permettant de réaliser ceci avec mon menu ..
En gros, mon hiérarchie de pages
-FR
-- Item 1
-- Item 2
--- Item 2.1
-- Item 3
---Item 3.1
--- Item 3.2
-- Item 4
Je cherche à afficher dans le menu principal ceci : ITEM 1 | ITEM 2 | ITEM 3 | ITEM 4
et mon code permet d'afficher un sous-menu au survol. Seulement je voudrais n'avoir que le sous-menu de l'item 3...
Comment puis-je lui dire de ne gèrer que celui de l'item 3?
Merci !
Menu - Affichage de certains éléments -
scorman - 24/10/2012
En gros, voici ce que je cherche à faire ...
Code :
[== Indéfini ==]
<ul id="nav">
{foreach from=$nodelist item=node}
{if $node->depth <=1}
<li {if $node->alias =="home"}class="home"{/if}><a href="{$node->url}">{$node->menutext}</a>
{/if}
{if $node->alias == "coaching-sportif"}
<ul class="dropdown">
{foreach "Enfant de coaching sportif"}
<li><a href="lien de l'enfant">NOM ENFANT COACHING SPORTIF<a></li>
{/foreach}
</ul>
{/if}
{/foreach}
</li>
</ul>
Mais je ne sais pas ciomment récupérer les enfants de "coaching-sportif" ...
Merci
Menu - Affichage de certains éléments -
Jean le Chauve - 24/10/2012
Et ton 2.1, qu'en est-il ? Va-t-il être affiché dans un menu ?
Si non, tu n'as qu'à mettre le 2.1 en non visible dans le menu (options page) et conserver le gabarit menu par défaut.
Menu - Affichage de certains éléments -
scorman - 25/10/2012
Oui, je l'affiche dans un sous-menu placé ailleurs..
Menu - Affichage de certains éléments -
heriquet - 25/10/2012
Si vraiment ce n'est qu'une question de visibilité, au risque de dire une betise, ne pourrais-tu pas simplement masquer certaines branches de ton menu avec du CSS ? Comme ca les liens restent visibles pour les robots.
Menu - Affichage de certains éléments -
Jean le Chauve - 25/10/2012
En considérant que tu ne souhaites afficher que les enfants de 2 (code à modifier où tu vois $node->hierarchy si tu changes de n° de hiérarchie)
Code :
{strip}
{if $count > 0}
<ul id='nav'>
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth && $node->hierarchy >= 2 && $node->hierarchy < 3}
{repeat string='<ul class="dropdown">' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth && $node->hierarchy == 3}
{repeat string='</li></ul>' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0 && $node->depth == 1 or ($node->hierarchy >= 2 && $node->hierarchy < 3)}
</li>
{/if}
{if $node->current == true && $node->depth == 1}
<li{if $node->parent == true || $node->haschildren == true} class='parent current'{/if}>
<a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
{elseif $node->parent == true && ($node->type != 'sectionheader' || $node->type != 'separator')}
<li class='parent current'>
<a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
<li class='sectionheader'>
{$node->menutext}
{elseif $node->type == 'separator'}
<li class='separator'>
<hr class='separator' />
{elseif $node->depth == 1 or ($node->hierarchy >= 2 && $node->hierarchy < 3)}
<li{if $node->parent == true || $node->haschildren == true} class='parent'{/if}>
<a href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}</li>
</ul>
{/if}
{/strip}
Visible ici pour quelques heures :
http://www.tutos-pour-cmsmadesimple.be/
[edit] : en relisant ta demande, je vois que ce sont les enfants de 3 dont tu as besoin : modifies tous les '2' en '3' et '3' en '4' où tu vois "$node->hierarchy"
Menu - Affichage de certains éléments -
Loulac - 25/10/2012
Bonjour,
S'il y a juste la page Item 2.1 à masquer dans le menu pourquoi ne pas utiliser le paramètre 'excludeprefix' avec le tag qui appelle ton menu ?
Menu - Affichage de certains éléments -
Jean le Chauve - 25/10/2012
Tu as raison, mais il devra modifier la balise à chaque fois que l'utilisateur ajoutera une page enfant quelque part, ce qui me semble difficile.
Menu - Affichage de certains éléments -
Jean le Chauve - 27/10/2012
Résolu ?