SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

251 Plugins, 182 contribs sur SPIP-Zone, 129 visiteurs en ce moment

Accueil du site > Navigation > Navigation à suivre > Deux avants l’article et deux après alphabétiquement

Deux avants l’article et deux après alphabétiquement

16 juin 2005 – par mortimer

Toutes les versions de cet article : [français] [français]

Voici une combinaison de boucles pour afficher dans l’ordre alphabétique deux articles avant et deux articles après l’article courant.

But

Imaginons que le site contienne les articles de titre :

titre id
a 10
b 3
c 4
m 11
z 6
g 19

et qu’on veuille afficher 5 articles dans l’ordre avec l’article courant au milieu. Par exemple, si l’article courant est « c » :

  • a
  • b
  • c
  • m
  • z

En une boucle ?

On pourrait faire une seule boucle pour afficher 5 articles consécutivement, classés par titre :

Le problème, c’est qu’il n’y a aucun moyen de dire à SPIP qu’on veut l’article courant au milieu de cette liste. De plus, on ne peut pas jouer avec les IDs pour faire ce genre de sélection, parce qu’il n’y a aucune garantie que les articles soient créés dans l’ordre alphabétique.

Les articles avant et après

On peut en fait trouver tous les articles avant et après l’article courant avec la combinaison de boucles suivante :

Le problème, c’est que si on limite la première boucle à deux articles avec le critère {0,2}, SPIP va trier par titre inverse, puis limiter à deux articles. On aura donc les deux articles qui nous intéressent, mais triés dans le mauvais ordre. Dans notre exemple :

  • b
  • a
  • c
  • m
  • z

Jouer du doublons

Ce qu’il nous reste à faire, c’est de jouer du critère doublons pour faire la chose suivante :
-  trouver les 2 articles avant : BOUCLE_trouve_avant,
-  exclure tous les autres articles : BOUCLE_exclus,
-  afficher les articles qu’on voulait garder dans le bon ordre : BOUCLE_affiche_avant.

Remarques :
  1. en utilisant les critères {titre <= #_article_courant:TITRE} {exclus}, on s’assure que les articles ayant le même titre que l’article courant soient placé avant celui-ci,
  2. cette boucle n’est pertinente que si l’on veut trier plus d’un article avant et après par ordre alphabétique. Si vous voulez faire des choses plus simple, voir « Article Précédent / Article Suivant ».
Retour en haut de la page

Répondre à cet article

Qui êtes-vous ? (optionnel)

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 formulaire accepte les raccourcis SPIP et le code HTML. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Retour en haut de la page

Ça discute par ici

  • SPIP-Listes

    30 novembre 2006 – 745 commentaires

    SPIP-listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte. Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres (...)

  • Galerie SPIP + PHP, simple et prête à l’emploi

    20 janvier 2006 – commentaires

    Voici donc le principe, faire une galerie d’image "très classique", comme celle-ci. Je voulais que les liens de navigation ne restent pas actifs quand il n’y avait plus rien à voir, afficher une image dans sa taille normale, et permettre de choisir (...)

  • Menu - portes coulissantes -

    28 février 2005 – commentaires

    Un menu efficace et joli en CSS, c’est possible grâce à la méthode des portes coulissantes. Un vrai cas d’école. Passionnant pour qui souhaite découvrir les CSS tout en enjolivant son SPIP.

  • Plugin Thélia

    26 juin 2007 – 526 commentaires

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • Essayez SPIP 2.1-RC

    19 mars – 12 commentaires

    La version Release Candidate de SPIP est sortie de la forge.