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