Ici & Là

01 Société 02 Histoire 03 Science 04 Science fiction 05 SPIP 06 NTIC 07 Sondages 08 Divers
La meilleure façon de réaliser ses rêves est de se réveiller (Paul Valéry)

Accueil > SPIP > Adaptation du squelette de la dist et de SPIP > Classer selon la date ou selon un ordre imposé

Classer selon la date ou selon un ordre imposé

Classement des articles dans les rubriques SPIP

jeudi 21 avril 2016, par François Daniel Giezendanner

Notez cet article
1 vote

Source : Classer selon la date ou selon un ordre imposé

 Sujet traité par l’article

Cet article traite du sujet suivant :

Nous souhaitons trier les articles dans les rubriques du CMS SPIP de façon différenciée :

  1. dans certaines rubriques, les articles sont publiés les uns à la suite des autres ; on veut donc les présenter selon l’ordre chronologique : les plus récents en début de liste, les plus anciens en fin de liste ;
  2. dans d’autres rubriques, on souhaite afficher les articles dans un ordre précis, en les numérotant ; sur le site public, on veut donc les présenter selon cet ordre indiqué par la numérotation ;
  3. enfin, dans les autres rubriques, les articles doivent être classés dans l’ordre chronologique, sauf certains que l’on souhaite placer en tête de liste dans un ordre précis.

Il y a plusieurs méthodes pour réaliser ce classement. Notez bien que les deux méthodes présentées ci-après sont valables tant pour ordonner les articles que les autres objets de SPIP (rubriques, brèves, etc.).

 Notre application aux articles des rubriques

Nous voulons que les articles des rubriques soient classés selon un ordre imposé, plus précisément par ordre du numéro du titre. A cette fin on applique la Méthode simple. On procède comme suit :

Méthode simple

on modifie le fichier rubrique.html du squelette.

Rappel : Pour classer les articles selon un ordre imposé, on numérote leurs titres dans l’espace privé, avec un numéro suivi d’un point et d’un espace : « 1. Premier article », « 2. Deuxième article », etc.

Dans les squelettes, pour ne pas afficher ces numéros sur le site public, on passe le filtre |supprimer_numero sur la balise #TITRE, et on utilise le critère {par num titre} sur la boucle ARTICLES pour ordonner selon les numéros indiqués.

Pour classer selon un ordre imposé ET/OU selon la date, on écrira donc ceci (à l’intérieur d’une boucle RUBRIQUES) :

Ainsi les articles de la rubrique seront tout d’abord classés par numéros, puis ceux portant un numéro identique seront classés par date inverse.

Remarque importante : Cela est tout à fait satisfaisant tant que, dans une rubrique donnée, tous les articles sont numérotés ou qu’aucun ne l’est. Par contre, si une rubrique contient des articles non numérotés, sauf un par exemple, celui-ci s’affichera en dernier. En effet, non numérotés, les articles sont considérés comme ayant zéro pour numéro. Pour éviter ce classement, on emploie alors la méthode suivante.

Dans notre cas nous obtenons :

 Sources