SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 349 visiteurs en ce moment

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

Deux avant 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 ».

Dernière modification de cette page le 16 mai 2012

Retour en haut de la page

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Réservation d’événements

    16 mars 2015 – 243 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Passer un site SPIP sous https://

    23 février – commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • Hébergeurs payants

    24 janvier 2009 – 31 commentaires

    Cet article en encore à réorganiser / scinder en deux selon le type (mutualisé ou pro). À priori, SPIP fonctionnera sur tout hébergeur payant traditionnel (qui propose PHP et MySQL). Merci de ne pas mettre des remarques du genre « l’hébergeur truc (...)

  • Moulinette

    17 juillet 2015 – 35 commentaires

    Un squelette qui monte et qui descend ! Moulinette est un squelette basé sur le thème Grayscale (documentation) pour Bootstrap 3. Le type de site attendu est un site en une seule page : une rubrique avec quelques articles, des titres courts, des (...)

  • CleverMail

    20 janvier 2010 – 632 commentaires

    CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris (...)