Architecture de boucle

Les boucles SPIP permettent de faire afficher dans un squelette de page de votre site, le texte des articles de contenu dans votre base de données.

Article publié le 15 août 2010, et actualisé en février 2022

 
 
 
 
 
 
 
 
 
 
 
 

Une boucle SPIP est une simple commande [1] [2], insérée dans un fichier HTML Squelettes, codée dans le langage propre à SPIP, utilisée pour afficher du contenu tiré de la base de données de texte dans chaque page...

Par exemple <BOUCLE_voir(ARTICLES)> #TITRE</BOUCLE_voir> affichera tous les titres de tous les articles contenus dans la base de données, plus précisément dans la table spip_articles (voir La boucle ARTICLES et ses balises de champs).

En français on pourrait dire ainsi : SPIP va voir dans la table spip_articles de la base de données du site et m’écrit tous les titres des articles à la queue leu leu.

Et la syntaxe ci-dessus encadre bien l’affichage en correspondance unitaire d’un article à la fois, par son titre, au sein d’une structure HTML composite :
- une instruction ouvrante de début <BOUCLE_voir(ARTICLES)>,
qui va sélectionner/tourner pour tous les articles correspondants affichables [3],
et faire l’intérieur (ici, afficher le #TITRE [4] de chaque article), tout ce qui est écrit
- jusqu’à la fin de boucle : </BOUCLE_voir>

  1. <BOUCLE_nomVoir(TABLES) {critère} {critere > borne} ..>
  2.        <h3>#TITRE</h3>
  3.        #CHAMP1  #CHAMP2

Télécharger

C’est vrai que vu sous cet angle, on ne va pas bien loin et l’ensemble est loin d’être suffisant. Il faudra donc utiliser autre chose pour affiner le résultat obtenu.

Hum oui, mais c’est pas intéressant tout ça, je veux voir des articles sur le site avec le nom des auteurs , la date de publication et un forum attaché à l’article !

Donc, on va vouloir :
- indiquer des informations complémentaires à afficher avec l’article (par des balises)
- spécifier l’ordre d’affichage des articles sélectionnés (par des critères)

Les critères de boucle et les balises
Les critères de boucles s’écrivent dans la boucle entre des accolades {} et les balises sont en majuscules et sont précédés d’un dièse #.

Les critères de boucles servent à affiner les demandes et/ou faire des tris et bien plus encore. Les balises permettent d’afficher un ou plusieurs résultats, des formulaires et bien plus encore !!

Revenons à notre boucle articles. Pour affiner notre demande, nous allons sélectionner tous les articles de toutes les rubriques et par ordre chronologique (du plus récent au plus ancien)

Pour cela nous aurons besoin de deux critères : {par date} et {inverse}

Puis de quatre balises, qui servent à indiquer les champs d’informations à afficher :
_#TITRE qui affiche le titre des articles,
#TEXTE affiche le contenu des articles,
#DATE affiche la date de publication ou la date courante selon que le critère soit dans ou hors boucle et enfin
#LESAUTEURS affichera le nom de l’auteur de l’article.

Si vous avez la curiosité de regarder la base de données et la table spip_article, vous constaterez que ces noms de balises correspondent à des champs de table, à l’exception de la balise #LESAUTEURS (mais elle pourrait avoir un rapport avec le champ #AUTEUR..).

Donc nous allons demander en français ce que nous souhaitons :

SPIP écris moi tous les articles avec leur titre , le nom de son auteur et la date de rédaction des articles en affichant le dernier rédigé en premier et en les mettant les uns en dessous des autres.

<BOUCLE_voir(ARTICLES){par date}{inverse}>
[(#TITRE)] </ br> [(#DATE)]
[ Ecrit par  (#LESAUTEURS). ]
[<div>(#TEXTE)</div>]
</BOUCLE_voir>

.

C’est quoi ces symboles [()] autour des balises ?
Ce qui est entre les crochets ne sera affiché que si la balise contient quelque chose. Dans notre cas "rédigé par : " ne sera affiché que si [5] l’auteur de l’article existe bien.

Arff ! t’as vu la date ? c’est moche !!
Oui mais SPIP a tout prévu avec les filtres ! Pour avoir une belle date bien propre on fera :[(#DATE|affdate)]

Consultez le Glossaire de SPIP pour connaitre l’ensemble des balises, critère et filtres souvent utilisés.

<jeu2>


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Commande en deux éléments (début et fin) encadrant un corps de balises SPIP et HTML !

[2Semblant une ’balise HTML’ mais on réserve le terme de balise SPIP aux syntaxes de code calculé par SPIP, principalement les balise de champ d’accès aux données calculés par SPIP !

[3Selon leur statut : publié !

[4C’est une balise SPIP, voir La boucle ARTICLES et ses balises de champs !

[5Les tests d’existence -ne pas mettre de légende si l’information n’est pas disponible- sont donc facilement réalisés au cour des affichages...


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 15 août 2010, et actualisé en février 2022 .

2 Messages

Répondre à cet article