Aller au contenu

nemikap

Membre
  • Compteur de contenus

    1
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Je me permets de déterrer ce Topic car il m'a aidé à solutionner un des problèmes exposés au cours de la discussion. Ma problématique initiale consistait à mettre en évidence uniquement la rubrique ou la sous-rubrique courante de mon menu arborescent placé dans un bloc div ( pour info, mon arborescence n'affiche pas les articles ). Un petit schéma pour mieux comprendre : Architecture grossière du site : Rubrique 1 Rubrique 1.1 Rubrique 1.1.1 Rubrique 1.1.2 Rubrique 1.2 Rubrique 1.3 Rubrique 1.3.1 Rubrique 1.3.2 Rubrique 1.3.3 Rubrique 2 Rubrique 2.1 Rubrique 2.1.1 Rubrique 2.1.2 Rubrique 2.1.2.1 Rubrique 2.1.2.2 Rubrique 2.1.3 Rubrique 2.2 Rubrique 2.2.1 Rubrique 2.3 Rubrique 2.3.1 Rubrique 2.3.2 Rubrique 3 Etc. Pour info, la boucle de mon arborescence est faite de telle sorte que seule l'arborescence de la rubrique de niveau 1 (Rubrique 1 ou Rubrique 2 ou Rubrique 3 ou etc.) dans laquelle je me trouve est affichée : - Par exemple, si je parcours la Rubrique 2 mon arborescence affiche : Rubrique 2 Rubrique 2.1 Rubrique 2.2 Rubrique 2.3 - Ou alors, si je parcours la Rubrique 2.1 mon arborescence affiche : Rubrique 2 Rubrique 2.1 Rubrique 2.1.1 Rubrique 2.1.2 Rubrique 2.1.3 Rubrique 2.2 Rubrique 2.3 - Ou encore, si je parcours la Rubrique 2.1.2 mon arborescence affiche : Rubrique 2 Rubrique 2.1 Rubrique 2.1.1 Rubrique 2.1.2 Rubrique 2.1.2.1 Rubrique 2.1.2.2 Rubrique 2.1.3 Rubrique 2.2 Rubrique 2.3 Vous aurez donc remarqué que dans mes exemples, les Rubriques 1 et 3 ne sont pas affichées car je suis dans la Rubrique 2. Je mets au cas où la structure de ma boucle qui est placée dans un fichier html à part et qui est à inclure dans les fichiers squelettes où on souhaite faire apparaître ce menu de navigation (par exemple : rubrique.html, article.html, etc.) : <BOUCLE_secteur(HIERARCHIE){tout}{id_rubrique}{racine}{0,1}> <B_rubriques> <div id="menu_rubriques"> <a href="#URL_RUBRIQUE">#TITRE</a> <hr/> <ul> <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par num titre, titre}> <li> <a href="#URL_RUBRIQUE">#TITRE</a> <B_sous_rubriques> <ul> <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par num titre}{!par date}><BOUCLE_test_expose(RUBRIQUES) {id_enfant}>#EXPOSE{' '}</BOUCLE_test_expose> <li><a href="#URL_RUBRIQUE">#TITRE</a><BOUCLE_re(BOUCLE_sous_rubriques)></BOUCLE_re></li> </B_test_expose></BOUCLE_sous_rubriques> </ul> </B_sous_rubriques> </li> </BOUCLE_rubriques> </ul> </div> </B_rubriques> </BOUCLE_secteur> La feuille de style associée : #menu_rubriques li { font-size: .8em; margin-left: 1em; } #menu_rubriques li ul li{ font-size: 1em; margin-left: 1em; } #menu_rubriques ul { list-style-type: disc; } #menu_rubriques li ul { list-style-type: square; margin-left: 0.2em; } #menu_rubriques li li ul { list-style-type: circle; margin-left: 0.2em; } #menu_rubriques li li li ul { list-style-type: disc; margin-left: 0.2em; } #menu_rubriques li li li li ul { list-style-type: square; margin-left: 0.2em; } #menu_rubriques hr {margin : 0.4em 0;} Et donc, à partir de cette base, l'objectif souhaité était de mettre en évidence uniquement la rubrique ou la sous-rubrique courante de manière à l'affichée en noire et qu'elle ne renvoie pas de lien, comme ceci : - Si je parcours la Rubrique 2.1.2 mon arborescence affiche (il faut imaginer que toute les rubriques renvoient vers des liens sauf celle en gras) : Rubrique 2 Rubrique 2.1 Rubrique 2.1.1 Rubrique 2.1.2 Rubrique 2.1.2.1 Rubrique 2.1.2.2 Rubrique 2.1.3 Rubrique 2.2 Rubrique 2.3 Grâce à la discussion de ce topic et aux infos trouvées sur cette page http://www.spip.net/fr_article2319.html , j'ai fini par trouver la solution à mon problème. Voici donc le code exposé ci-dessus et adapté pour répondre aux critères souhaités : <BOUCLE_secteur(HIERARCHIE){tout}{id_rubrique}{racine}{0,1}> <B_rubriques> <div id="menu_rubriques"> [(#ENV{id_rubrique}|=={#ID_RUBRIQUE}|?{<span class="nav_current_rub">#TITRE</span>}|sinon{<a href="#URL_RUBRIQUE">#TITRE</a>})] <hr/> <ul> <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par num titre, titre}> <li>[(#ENV{id_rubrique}|=={#ID_RUBRIQUE}|?{<span class="nav_current_rub">#TITRE</span>}|sinon{<a href="#URL_RUBRIQUE">#TITRE</a>})] <B_sous_rubriques> <ul> <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par num titre}{!par date}> <BOUCLE_test_expose(RUBRIQUES) {id_enfant}>#EXPOSE{' '}</BOUCLE_test_expose> <li>[(#ENV{id_rubrique}|=={#ID_RUBRIQUE}|?{<span class="nav_current_rub">#TITRE</span>}|sinon{<a href="#URL_RUBRIQUE">#TITRE</a>})]<BOUCLE_re(BOUCLE_sous_rubriques)></BOUCLE_re></li> </B_test_expose> </BOUCLE_sous_rubriques> </ul> </B_sous_rubriques> </li> </BOUCLE_rubriques> </ul> </div> </B_rubriques> </BOUCLE_secteur> Et la feuille de style associée : #menu_rubriques li { font-size: .8em; margin-left: 1em; } #menu_rubriques li ul li{ font-size: 1em; margin-left: 1em; } #menu_rubriques ul { list-style-type: disc; } #menu_rubriques li ul { list-style-type: square; margin-left: 0.2em; } #menu_rubriques li li ul { list-style-type: circle; margin-left: 0.2em; } #menu_rubriques li li li ul { list-style-type: disc; margin-left: 0.2em; } #menu_rubriques li li li li ul { list-style-type: square; margin-left: 0.2em; } #menu_rubriques hr {margin : 0.4em 0;} .nav_current_rub {color: black;} Voilà, en espérant aider ceux qui chercheront à l'avenir à créer ce genre de menu de navigation en arborescence .
×
×
  • Créer...