guiderdoni.net

Bloc notes : spip, css, xhtml, web, standards, mac ...

Accueil > Spip > Boucle rubrique et sous-rubrique récursive

Articles de cette rubrique

Articles

publie le mercredi 5 octobre 2005 par Alexandra

Boucle rubrique et sous-rubrique récursive

Une très belle boucle récursive proposée par Gilles Vincent

http://article.gmane.org/gmane.comp.web.spip.user/
67304/match=boucles+recursives+rubriques

Voici une solution avec les boucles récursives pour la page rubrique.html :
Ces boucles affichent l’ensemble des rubriques/sous-rubriques du site,
quel que soit le niveau de profondeur.

<style>
a.lienon {background: #FFCC00; text-decoration: none}
</style>

<ul>
 <BOUCLE_principale(RUBRIQUES){racine} {par titre} >
 <li>
    <a class="lien#EXPOSER" href="#URL_RUBRIQUE" >#TITRE</a>
    <B_rubriques>
    <ul>
       <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par titre} >
       <li>
    <a class="lien#EXPOSER"href="#URL_RUBRIQUE">#TITRE</a>
           <BOUCLE_sousRubriques(BOUCLE_rubriques)> </BOUCLE_sousRubriques>
       </li>
       </BOUCLE_rubriques>
    </ul>
    </B_rubriques>
 </li>
 </BOUCLE_principale>
</ul>

Explication :
L’idée, c’est de parcourir la liste des rubriques à la
racines, puis pour chacune d’elles effectuer récursivement un parcourt
en largeur d’abord, profondeur ensuite (je crois que cet ordre est
obligatoire pour que l’on puisse fermer correctement les listes non
numérotées)

La balise #EXPOSE n’est là que pour indiquer si l’on est dans la liste des ancetres de la rubrique en cours.

Merci Gilles :-)

Petites précisions  :

Dans un inclure, penser à ne pas perdre le context, il faut le spécifier.

INCLURE(monfichier.php){id_rubrique}

Lire aussi la documentation Spip à ce sujet
Exposer un article dans une liste

Forum

Répondre à cet article

2005-2017 - Contenu en GPL http://www.guiderdoni.net - Site réalisé avec SPIP 
rechercher - plan du site - prive - alexandra.guiderdoni@gmail.com
CSS - XHTML - squelette