Afficher un lien pour accéder à la suite d’une liste

Une astuce simple pour afficher quelque chose à la fin d’une liste d’articles, mais seulement si il reste des articles non-listés.

Qu’est-ce que ça fait?

La boucle que je propose a le résultat suivant :

  • Affiche les cinq premiers articles de la rubrique
  • Si il existe un sixième article, affiche un lien vers la rubrique.
<BOUCLE_liste_articles(ARTICLES){id_rubrique}{par date}{inverse}{0,5}>   
<div><a href="[(#URL_ARTICLE)]">[(#TITRE|supprimer_numero)]</a></div>
<div>[(#INTRODUCTION)]</div>
</BOUCLE_liste_articles>

<BOUCLE_liste_articles_suite(ARTICLES){id_rubrique}{par date}{inverse}{6,1}>
<div>:: <a href="#URL_RUBRIQUE">Voir la liste complète...</a></div>
</BOUCLE_liste_articles_suite>

Y’a un truc!

L’astuce est que, dans la première boucle, je spécifie de n’afficher que les cinq premiers articles en utilisant le critère {0,5}, c’est à dire afficher cinq résultats à partir du premier. Il est bon de remarquer que la numérotation des résultats commence par zéro et non par un!

Pour savoir si la liste est incomplète, nous avons besoin de savoir si il existe au moins un article de plus. C’est pourquoi la deuxième boucle demande d’afficher le sixième article seulement en utilisant avec le critère de sélection {6,1} (c’est à dire n’afficher qu’un résultat à partir du sixième article). Donc, si il y a un sixième article, la boucle affichera quelque chose. Si il n’y en a pas, il ne s’affichera rien.

Je pourrais mettre des informations propres à l’article en question (ex. #TITRE), mais à la place je ne fait que placer un lien vers la rubrique. Vous pourriez bien entendu mettre autre chose qu’un lien si vous voulez.

(Voir “Les critères communs à toutes les boucles” dans la doc officielle pour plus de détail.)

À vous de jouer!

Et voilà! Il ne vous reste qu’a adapter cette boucle selon vos besoins. Par exemple, vous pourriez faire une liste de brève ou de rubrique. Vous pourriez aussi remplacer le critère id_rubrique par branche pour inclure les articles qui se trouvent dans les sous-rubriques de la rubrique en cours. (Bien entendu, dans ce cas, le squelette de la page où mènera le lien devra afficher la liste des articles selon le critère branche lui aussi.)

Discussion

No discussion

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom