Chemin de navigation

Voyons comment obtenir un chemin de navigation du type Accueil>Rubrique>SousRubrique

Pour cela il est necessaire d’utiliser une boucle HIERARCHIE afin d’obtenir la liste des rubriques qui mènent de la racine du site à la rubrique ou à l’article en cours. C’est notre partie Rubrique>SousRubrique. Ensuite, il reste à préciser la racine du site qui correspond à l’accueil.

<a href="index.php3">Accueil</a> > 
<BOUCLE_chemin_rubriques(HIERARCHIE){id_rubrique}{" > "}>
     <a href="#URL_RUBRIQUE">#TITRE</a>
</BOUCLE_chemin_rubriques>

Le critère {" > "} sert à afficher la flèche de séparation entre les différentes parties du chemin.

Pour approfondir :
-  La documentation de la boucle HIERARCHIE
-  La documentation des critères communs à toutes les boucles

Discussion

8 discussions

  • 2
    Véronique V.

    Le chemin est incomplet s’il s’agit d’afficher une rubrique et une sous-rubrique pour obtenir sur une page article un chemin de type ACCUEIL>>RUBRIQUE>>SOUS-RUBRIQUE
    Je me suis inspirée de l’excellent tutoriel http://www.spip.net/fr_rubrique154.html pour trouver la boucle suivante :

    <A href="#URL_SITE">Accueil >></A>
    <BOUCLE_cheminement(ARTICLES) {id_article}>
    <BOUCLE_camino(RUBRIQUES){id_rubrique}>
    <BOUCLE_rub_parent(RUBRIQUES) {id_enfant}>
    <BOUCLE_chemin(HIERARCHIE) {id_rubrique} {":"}>					
    </BOUCLE_chemin>
    <A href="#URL_RUBRIQUE">#TITRE >></A>
    </BOUCLE_rub_parent>
    <A href="#URL_RUBRIQUE">#TITRE >></A>
    </BOUCLE_camino>
    </BOUCLE_cheminement>

    Répondre à ce message

  • 1

    Bonjour, j’utilisais ce code dans SPIP 1.7 avec quelques soucis : j’avais mis le code dans un include et il s’affichait de temps en temps, je devais sans arrêt « Recalculer la page ». J’ai mis le code en dur dans les pages concernées (sommaire, rubrique et article) et ça a fonctionné correctement.

    Je suis passée à SPIP 1.8 et depuis plus de browsepath du tout ! je l’ai remis en include pour plus de commodités mais plus rien ne s’affiche.

    Avez-vous une idée ? avez-vous le même problème ?

    • le chemin de navigation fonctionne désormais et il est en include.

      Le code est simple :

      -  une boucle rubrique ou article (RUBRIQUES){id_rubrique} ou (ARTICLES){id_article}, pour déterminer la rubrique ou l’article en cours
      -  à l’intérieur, la boucle hiérarchie avec comme paramètre l’id article ou rubrique (HIERARCHIE){id_article ou id_rubrique}
      -  puis le titre de l’article ou de la rubrique #TITRE.

      Et j’ai bien un chemin de navigation qui s’affiche avec tous les niveaux de rubriques et le nom de l’article ou de la rubrique en cours.

      Le chemin de navigation fonctionne aussi pour les brèves, mais on ne peut pas utiliser la boucle hiérarchie pour les brèves. Pas grave, une brève est située dans un seul sous-niveau de rubriques.
      Le code est donc le suivant :

      -  une boucle pour récupérer les infos de la brèves en cours (BREVES){id_breve}
      -  à l’intérieur une boucle Rubriques (RUBRIQUES){id_rubrique} pour récupérer la rubrique en cours, il n’y en a qu’une puisque c’est une brève
      -  puis le titre de la brève #TITRE.

    Répondre à ce message

  • 4

    Salut,

    Quand je tape ce code, mis à part le lien de départ Accueil, je n’ai aucun chemin de navigation apparaissant....

    Bizarre bizarre...

    • Pourais-tu m’en dire un peu plus sur ton problème, ou mieux, m’envoyer l’adresse d’une des pages qui ne fonctionne pas ?

    • Idem pour moi
      J’ai fait un copier coller. Je ne vois que le lien vers accueil. Faut-il activer qq chose dans l’espace privé de mon site ?

    • la réponse est un peux plus haut, je me suis aussi fait avoir : il faut mettre son petit code dans une boucle ARTICLES ou RUBRIQUES pour que ça fonctionne

    • Bonjour,

      En septembre dernier vous vouliez répondre à un problème avec le chemin d’accès.

      Je me trouve dans le même cas qu’Olivier ... :-( http://www.perrotduval.com/index.php
      Je suis SPIP 1.7.2 .

      Depuis le temps, savez-vous quelle est la solution pour afficher la totalité du chemin ?

      Si oui, pouvez-vous m’expliquer comment ça marche ?

      Merci,

      Pablo Cassina

    Répondre à ce message

  • 1

    j’ai eu l’occasion d’utiliser ce code et il marche tres bien.merci.
    mais cette fois mon prblm est légèrement different. Je veux afficher le chemin jusqu’a mon article mais pas en partant de la racine du site mais d’une sous sous rubrique rubrique dont je connnais l’#ID_RUBRIQUE.Les premiers niveau de rubrique doivent etre transparents.si quelqu’un sait comment faire je suis preneur.merci.

    • Bonjour,
      je me posais la même question, en fait c’est très simple :
      au lieu d’utiliser l’option id_secteur ou id_rubrique dans la boucle article, il faut utiliser le critère branche.
      C’est tout ce qu’il faut changer et ça fonctionne très très bien !

    Répondre à ce message

  • 1

    Selon la documentation que tu cites, la boucle HIRARCHIE n’admet pas de critère id_breve. Pourtant les brèves sont bien rattachées à des rubriques et j’aimerais pouvoir afficher le nom de cette rubrique.

    D’autre part, il n’y a pas de balise dans la boucle BREVE permettant d’afficher le nom de la rubrique. Aurais tu une solution ?

    • Il n’y a pas de critère id_breve dans la boucle HIERARCHIE car selon SPIP tu ne peux mettre des brèves qu’au niveau des secteurs, et pas plus bas dans une hiérarchie.
      Par contre, pour ta boucle, il existe bien un critère id_rubrique dans la boucle BREVES.

      Bon courage pour la suite.

    Répondre à ce message

  • 2

    Bonjour,

    ne serait-il pas intéressant de remplacer la ligne

    <a href="index.php3">Accueil</a> > 

    par

    <a href="#URL_SITE">Accueil</a> > 

    Manu

    • C’est tout à fait possible en effet, bien que dans ce cas je ne vois pas bien ce que ça changerait.

    • Question de portabilite. celui qui passe tout son site en .php n’aura pas a changer le code de la boucle.

      Pour ma part, j’avais cette boucle :

      <!-- Chemin du site -->
      <BOUCLE_rubrique_hierarchie(RUBRIQUES){id_rubrique}>
      <a href="#URL_SITE_SPIP">Accueil</a>
      <BOUCLE_chemin(HIERARCHIE){id_rubrique}>
      <b> &gt;&gt; </b><a href="#URL_RUBRIQUE"
      [title="(#DESCRIPTIF|textebrut|entites_html)"]><b>[(#TITRE|supprimer_numero)]</b></a>
      </BOUCLE_chemin>
      </BOUCLE_rubrique_hierarchie>

      Chag

    Répondre à ce message

  • 1

    Aucun paramétrage dans l’admin n’est nécéssaire pour ce bout de code. En fait la seule chose que j’ai oublié de préciser est que cette boucle doit se trouver dans un contexte faisant appel à une rubrique, c’est à dire qu’elle ne fonctionnera que si l’URL est de la forme monfichier.html ?id_rubrique=1 ou encore si elle est imbriquée dans une boucle RUBRIQUES ou ARTICLES.
    Si c’est bien le cas dans vos squelettes, et que l’erreur se produit toujours, merci de me donner plus de précisions sur vos problèmes pour que je vous aide au mieux.
    Elodie

    • Bonjour Elodie,

      merci beaucoup pour ce chemin de navigation super pratique, c’était exactement ce que je cherchais.
      Je débute en SPIP et j’ai pu facilement le mettre en place sur mes pages « rubrique » et « article », c’est génial !

       :-))))

    Répondre à ce message

  • 1

    Une boucle plus complète


    <!—
    j’utilise cette fonctionnalité avec

    fonctionne dans tous les cas même sans envoyer l’id_rubrique
    —>

    <!— fichier associé cgfp_spip_hierarchie.php3

    <?php
      $fond = "cgfp_spip_hierarchie";
      $delais= 0 *  0 * 24 * 60 * 60
      include ("inc-public.php3");
    ?>

    —>


    • Horreur, mon message est complètement transformé par SPIP et de plus tronqué.

      Je vais passé l’info dans l’espace privé

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom