FLR personal CMS

Accueil du site > Technique > SPIP > Articles dans les sous-rubriques seulement... Comment faire (...)

Articles dans les sous-rubriques seulement... Comment faire ?

mercredi 10 novembre 2004, par François Le Ralle


Le squelette fourni en standard dans SPIP n’affiche que les articles directement liés à la rubrique, et rien du tout si les articles sont dans les sous rubriques, ce qui est très dommage !

Heureusement, SPIP a prévu deux choses que l’on peut utiliser pour corriger le squelette :

  1. la possibilité d’avoir une génération alternative de contenu si une boucle ne produit pas de résultat.
  2. le critère {branche} qui retourne pour une bouche d’article l’ensemble des articles de la rubrique ET de ses sous-rubriques.

La génération alternative de contenu

La syntaxe complète d’une boucle est :


<Bn>
Code HTML optionnel avant
<BOUCLEn(TYPE){critère1}{critère2}...{critèrex}>
Code HTML + balises SPIP
</BOUCLEn>
Code HTML optionnel après
</Bn>
Code HTML alternatif
<//Bn>

Avec cette syntaxe, on peut spécifier un code HTML alternatif, qui sera utilisé dans le cas où la boucle ne renvoie aucune information avec les critères spécifiés (pas d’articles dans une boucle article par exemple).

Ce code alternatif peut être une autre boule, par exemple une boucle qui explore les sous-rubriques grâce au critère {branche}.

Utilisation du critère branche

Le critère {branche} retourne l’ensemble des articles de la rubrique ET de ses sous-rubriques. Cela nous permet donc d’afficher tous les articles des sous-rubriques et d’avoir quelque chose à afficher quand la rubrique principale ne contient pas d’articles.

<BOUCLEn(ARTICLES) {branche} .....>

Nous allons donc utiliser cette boucle dans la partie de permettant de générer du contenu alternatif.

Résultat

Pour en profiter, il suffit de modifier le fichier rubrique.html (une copie de rubrique-dist.html) et d’y remplacer la boucle existante BOUCLE_articles_recents.


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette