Lier plusieurs articles

Cette contribution présente la manière dont j’ai implémente des articles chainés sur mon site.

Présentation

Il y a une certaine analogie avec la contribution Découper un article en plusieurs pages et lui ajouter un sommaire, mais la démarche est dfférente : le but est de lier logiquement plusieurs articles différents (chacun restant sur sa propre page) plutot que de découper un article sur plusieurs pages.

Un petit exemple se trouve sur cette page

Le menu déroulant Quick Jump permet de naviguer simplement entre trois articles représentant trois chapitres d’un meme sujet.

La boucle complète

Ce menu est généré automatiquement pour les articles qui en ont besoin par la boucle suivante :

<BOUCLE_quickjump(MOTS){id_article}{id_groupe=6}>   
<form>
<select SIZE=1 ONCHANGE="window.open(this.options[this.selectedIndex].value,'_top')">
<option>Quick Jump</option>
<BOUCLE_items(ARTICLES){id_mot}>
  <option value="article.php3?id_article=#ID_ARTICLE"> #SOUSTITRE </option>
</BOUCLE_items>
</select></form>
</BOUCLE_quickjump>

Quelques explications

<BOUCLE_quickjump(MOTS){id_article}{id_groupe=6}>

Cette boucle permet de décider ou non de l’apparition du menu déroulant : si l’article courant possède un mot clé d’un certain groupe (ici le groupe possédant l’id 6), alors le menu sera affiché (et le mot clé correspondant ajouté au contexte courant).

Dans mon backoffice SPIP, ce groupe de mot clé s’appelle article chainé.

Pour chaque famille d’articles liés, il est nécessaire de créer un mot clé qui va l’identifier et qui appartient à ce groupe article chainé. Voici un exemple d’un tel mot clé : Getting Started.

Ce mot clé sera ensuite utilisé par la boucle suivante pour remplir les entrées du menu déroulant :

<BOUCLE_items(ARTICLES){id_mot}>
  <option value="article.php3?id_article=#ID_ARTICLE"> #SOUSTITRE </option>
</BOUCLE_items>

Chaque option du menu est renseigné avec le sous-titre de l’article. C’est un choix d’implémentation mais cela permet d’avoir une certaine cohérence dans la présentation : le titre principal de chaque article peut ainsi etre le même (par exemple sur mon site « Titre - Titre part II - Titre part III »).

Voila...

J’espère que vous avez réussi à suivre (!) et que cette contribution pourra vous etre utile.

Discussion

Aucune discussion

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