Cette boucle reprend l’idée de Chemin de navigation et la complète.
Elle répond à (presque) toute les situations.
La boucle de navigation proposée se base essentiellement sur la boucle HIERARCHIE documentée.
On peut se situer dans trois cas différents
- A) dans aucune rubrique, c’est le cas dans sommaire.html.
- B) dans une rubrique de la racine, pas de parent.
- C) dans une sous-rubrique
La définition de la boucle HIERARCHIE est précise :
Cette boucle retourne la liste des RUBRIQUES qui mènent de la racine du site à la rubrique ou à l’article en cours.
conséquence :
- D) aussi la rubrique (ou sous-rubrique) en cours ne fait pas partie du résultat de la boucle. Il convient donc de traiter ce cas.
- E) Pour faciliter la navigation on souhaite activer les liens uniquement sur les rubriques parents de la rubrique en cours (quelque soit le degré de parenté).
<div class="typo_hierarchie"><!-- pour la beauté! -->
<BOUCLE_rubrique(RUBRIQUES) {id_rubrique}> <!-- appel externe -->
<B_hierarchie>
<!-- situation C + E - si la boucle renvoie au moins une valeur lien pour revenir au sommaire -->
<a href="sommaire.php3" title="<:retour_ sommaire:>"><:sommaire:> -> </a>
<!-- situation C + E - c'est le cas classique -->
<BOUCLE_hierarchie(HIERARCHIE) {id_rubrique} {" -> "}>
<a [href="(#URL_RUBRIQUE)"] [title="(#DESCRIPTIF|textebrut|attribut_html)"]>[(#TITRE|supprimer_numero)]</a> </BOUCLE_hierarchie>
<!-- situation D - ajouter le titre de la rubrique en cours sans lien (pas besoin de boucler sur soi-même)-->
[ -> (#TITRE|supprimer_numero)]
</B_hierarchie>
<!-- cas B + E) on peut être dans une rubrique racine (la racine n'a pas de parent, on n'est donc pas entrée dans BOUCLE_hierarchie -->
[<a href="sommaire.php3" title="<:retour_ sommaire:>"><:sommaire:></a> -> (#TITRE|supprimer_numero|sinon{"<:sommaire:>"})] <!-- le filtre sinon n'est peut-être pas nécessaire mais j'avais envie de le tester -->
<//B_hierarchie>
</BOUCLE_rubrique>
<!-- cas A on est réellement au sommaire id_rubrique=0 on n'est donc pas entrée dans BOUCLE_rubrique-->
<:sommaire:>
<//B_rubrique>
</div>
Placée dans un fichier externe elle s’appelle dans tous les cas par
<INCLURE (nom_du_fichier.php3) {id_rubrique}>
Validité SPIP 1.6 et +
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |