Skip to main content

Syntaxe SPIP

Syntaxe SPIP


SPIP possède son propre système de templates : boucles, critères, balises, filtres. Ce langage est très lisible et orienté contenu.

Les boucles

Les boucles permettent d’interroger les objets éditoriaux (articles, rubriques, auteurs…).

Syntaxe générale :

<BOUCLE_nom(TABLE){critères}>
  … contenu affiché pour chaque résultat …
</BOUCLE_nom>

Exemple : afficher les 5 derniers articles d’une rubrique :

<BOUCLE_articles(ARTICLES){id_rubrique}{par date}{inverse}{0,5}>
  <h2>#TITRE</h2>
  <p>#INTRODUCTION</p>
</BOUCLE_articles>
Les critères de boucles

Ce sont les éléments entre {} dans une boucle. Ils servent à filtrer, classer ou limiter les résultats. Ils correspondent à des éléments de requête SQL (ex: {par date} => ORDER BY date)

Exemples utiles :

Critère Rôle
{id_rubrique} Filtre par rubrique courante
{par date} Tri par date ASC
{par date}{inverse} ou {!par date} Tri par date DESC
{0,10} Limiter aux 10 premiers résultats
{doublons} Exclure des éléments déjà affichés

Les balises

Les balises correspondent généralement à une colonne d'une table si l'on est dans une boucle, elles peuvent aussi correspondre à des fonctions PHP déclarées sous la forme de function balise_XXXX_dist() généralement dans le fichier monplugin_fonctions.php.

Exemples :

#TITRE
#TEXTE
#DATE
#URL_ARTICLE
#LOGO_ARTICLE

Dans une boucle sur ARTICLES, #TITRE correspond au titre de l’article courant et #LOGO_ARTICLE exécute une fonction qui récupère le document identifié comme logo de cet article et renvoie une balise html <img>.

Les filtres

Les filtres correspondent également à des fonctions PHP que l'on applique sur des balises avec ou sans argument.

Syntaxe : #BALISE|filtre{argument}

Exemples :

#TITRE|strtolower #TEXTE|couper{200} #DATE|affdate