23/10/2010, 16:18:07
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.8.2
#~ Nom de l'hébergeur :
#~ Informations Système :
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour à tous,
Je travaille sur un menu déroulant pour un site et j'ai trouvé ce code proposé par JeanLeChauve dans un autre sujet :
{if $count > 0}
<ul id="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->depth == 1}
<li><a href="{$node->url}">{$node->menutext}</a>
{else}
<li><a href="{$node->url}"><span>{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Il me convient quasi parfaitement.
Le problème, c'est qu'il affiche quelque chose du style :
<ul id="nav">
<li>Catégorie 1</a>
<ul>
<li><a href="#">Catégorie 2</a>
<ul>
<li><a href="#">Catégorie 2.1></a></li>
<li><a href="#">Catégorie 2.2></a></li>
</ul>
</li>
...
Alors qu'il me faudrait plutôt :
<ul id="nav">
<li>Catégorie 1</a></li>
<li><a href="#">Catégorie 2</a>
<ul>
<li><a href="#">Catégorie 2.1></a></li>
<li><a href="#">Catégorie 2.2></a></li>
</ul>
</li>
En gros, je souhaite une balise de fermeture </li> pour la catégorie de 1er niveau et pour les catégories qui n'ont pas d'enfants.
Pour les autres, il me faut un <li> <a>nom de la catégorie</a> <ul> <li></li> <li></li> </ul> </li> (comme le code de Jean Le Chauve).
Je n'arrive pas à modifier le code de Jean Le Chauve pour arriver à ce résultat.
Merci d'avance pour votre aide,