Bon comme j'ai passé quelques nuits a m'arracher les cheveux pour faire un menu sur 3 niveaux (rubriques, sous rubriques et sous sous rubriques si il y en a, ne s'affichant que lorsque leur rubriques parente respectives sont activées)
Et que j'ai enfin fait (a peu près) ce que je voulais...
[Je dis a peu près car je n'arrive pas a maintenir le menu ouvert sur la rubrique sélectionnée]
Je partage, ça peut toujours servir.
Donc il nous faut :
Jquery si vous ne l'avez pas déjà.
Collapsor un plugin pour jquery qui permet de faire des menus déroulants sur 3 niveau (ça tombe bien)
Ensuite on rajoute dans meta.html les appels de scripts qui vont bien :
(a adapter bien sur selon vos versions et repertoires)
<script src="scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="scripts/jquery.collapsor.min.js" type="text/javascript"></script>
Et la configuration du script (dans le cas ou votre menu est constitué d'une liste) toujours dans meta.html:
<script type="text/javascript">
$(function(){
$('ul a').collapsor();
});
</script>
*Pour plus d'options de configuration de collapsor, je vous invite a consulter la doc
Ne reste plus qu'a editer votre page menu.html
<ul>
<THELIA_MENU_RUBRIQUES type="RUBRIQUE" parent="0" classement="manuel" ligne="1">
<li>
<a href="#REWRITEURL" class="menu">#TITRE</a>
<ul>
<THELIA_BLOC_SOUS_MENU type="RUBRIQUE" parent="#ID" ligne="1" classement="manuel">
<li>
#FILTRE_egalsinon(#RUBRIQUE_ID||#ID||<span class="menussrub Selected">#TITRE</span>||<a href="#REWRITEURL" class="menussrub" title="#TITRE">#TITRE</a>)
#FILTRE_different(#NBENFANT||0||
<ul><THELIA_SSMENU type="RUBRIQUE" parent="#ID" ligne="1">
<li style="padding-left:5px;">
<a href="#REWRITEURL" class="menussrub #FILTRE_egalite(#RUBRIQUE_ID||#ID||Selected)" title="#TITRE">#TITRE</a>
</li>
</THELIA_SSMENU>
</ul>)
</li>
</THELIA_BLOC_SOUS_MENU>
</ul>
</li>
</THELIA_MENU_RUBRIQUES>
</ul>
N'oubliez pas de modifier les classes en fonction de votre feuille de style
*Notez tout de même que le niveau 1, les rubriques, n'ouvrent que le sous menu des sous rubriques, donc si vous avez une rubrique qui n'a pas de sous rubrique elle ne sera pas accessible comme ça.
**Et si vous n'avez que 2 niveaux a gerer je vous recommande un autre script, toujours avec jquery, plus simple et parametrable, et qui reste ouvert sur la rubrique active : ddaccordion.
Last edited by tetedelard (06-03-2010 14:42:16)