Les balises propres au site

Les balises suivantes sont disponibles à n’importe quel endroit du squelette, même en dehors d’une boucle (hors « contexte »).

Balises définies à la configuration

Le contenu de ces balises est défini dans l’espace privé, lors de la configuration de votre site.

-  #NOM_SITE_SPIP affiche le nom du site.

-  #URL_SITE_SPIP affiche l’adresse du site. Elle ne comprend pas le / final, ainsi vous pouvez créer un lien du type #URL_SITE_SPIP/hello.php

-  #DESCRIPTIF_SITE_SPIP affiche, comme son nom l’indique, le descriptif du site, que l’on renseigne dans la page de configuration générale du site.

-  #EMAIL_WEBMASTER affiche l’adresse du webmestre. Par défaut, SPIP prend l’adresse de celui qui a installé le site (le premier administrateur).

-  #LOGO_SITE_SPIP affiche le logo du site. Cette balise renvoie le logo du site 0.

-  #CHARSET affiche le jeu de caractères utilisé par le site. Sa valeur par défaut est utf-8.

-  #LANG : utilisée en dehors des boucles ARTICLES, RUBRIQUES, BREVES et AUTEURS, cette balise affiche la langue principale du site.

-  #LANG_DIR, #LANG_LEFT, #LANG_RIGHT : ces balises définissent le sens d’écriture de la langue du contexte actuel (par exemple, de l’article qu’on est en train d’afficher). Voir l’article « Réaliser un site multilingue » pour plus d’information.

-  #MENU_LANG (et #MENU_LANG_ECRIRE) : ces balises fabriquent et affichent un menu de langues permettant au visiteur d’obtenir la page en cours dans la langue choisie. La première balise affiche la liste des langues du site ; la seconde la liste des langues de l’espace privé (elle est utilisée sur la page de connexion à l’espace privé).

Balises de mise en page

-  #DOSSIER_SQUELETTE Elle permet d’obtenir le chemin du dossier dans lequel est installé le squelette utilisé.

On peut ainsi placer les fichiers « accessoires » (feuille de style, javascript, etc...) au squelette dans le répertoire du squelette et donc simplement distribuer ce dossier pour échanger ses squelettes. On écrira donc, par exemple, pour inclure une feuille de style du répertoire squelette :

<link rel="stylesheet" href="#DOSSIER_SQUELETTE/mon_style.css" type="text/css" />

La balise #CHEMIN remplace et améliore #DOSSIER_SQUELETTE. #CHEMIN{xxx} donnera le chemin complet vers le fichier xxx, qu’il se trouve à la racine, dans le dossier des squelettes, dans dist/ etc.

<link rel="stylesheet" href="#CHEMIN{mon_style.css}" type="text/css" />

-  #PUCE qui affiche devinez-quoi...

-  #FORMULAIRE_ADMIN est une balise optionnelle qui permet de placer les boutons d’administration (« recalculer cette page », etc.) dans ses squelettes. Lorsqu’un administrateur parcours le site public, si cette balise est présente, elle sera remplacée par les boutons d’administration, sinon, les boutons seront placés à la fin de la page.

On peut aussi modifier la feuille de style spip_admin.css pour contrôler la position des boutons.

-  #DEBUT_SURLIGNE, #FIN_SURLIGNE sont deux balises qui indiquent à SPIP dans quelle partie de la page colorer les mots clefs recherchés. Voir : « Les boucles et balises de recherche ».

-  La balise #INSERT_HEAD doit se situer entre les balises <head> et </head> de vos squelettes. Elle permet à SPIP, ainsi qu’aux plugins éventuels, d’ajouter du contenu entre ces deux balises html.

Balises techniques

Attention, ces balises s’adressent à des utilisateurs avertis de SPIP.

-  La balise #REM ne produit aucun affichage : elle permet de commenter le code des squelettes, de cette façon : [(#REM) Ceci est un commentaire. ]. Ces commentaires n’apparaissent pas dans le code généré pour le site public. Voir aussi : Comment désactiver une partie d’un squelette ?

-  #SELF retourne l’URL de la page appelée, nettoyée des variables propres à l’exécution de SPIP. Par exemple, pour une page avec l’url : spip.php?article25&var_mode=recalcul la balise #SELF retournera : spip.php?article25

Par exemple pour faire un formulaire :

<form action="#SELF" method="get">

Remarque : la balise #SELF représentant l’adresse de la page, elle n’est pas compatible avec les <INCLURE()> (sauf si le $delais de l’inclusion est mis à 0).

-  #URL_PAGE retourne une url de type « page » (cf. les urls de spip), vers la page passée en paramètre et qui pourra être utilisée dans un lien. Par exemple, pour accéder à la page générée par le squelette toto.html, située dans votre dossier-squelette, #URL_PAGE{toto} généra automatiquement l’url spip.php?page=toto. Un second paramètre est autorisé pour ajouter des paramètres à l’url. Exemple #URL_PAGE{toto,id_article=#ID_ARTICLE} génèrera l’url spip.php?page=toto&id_article=XXX.

-  [(#ENV{xxxx, zzzz })] permet d’accéder à la variable de nom xxxx passée par la requête HTTP. zzzz est une partie optionnelle qui permet de retourner une valeur même si la variable xxxx n’existe pas. On trouve une explication détaillée sur Spip-Contrib

Par défaut, la balise #ENV est filtrée par htmlspecialchars. Si on veut avoir le résultat brut, l’étoile « * » peut être utilisée comme pour les autres balises : [(#ENV*{xxxx})].

Par exemple pour limiter la liste d’auteurs affichés :

<BOUCLE_auteurs(AUTEURS) {nom == #ENV{lettre,^A}}>

Retourne la liste d’auteur ayant le nom correspondant à l’expression régulière passé dans l’url par la variable lettre (spip.php?page=liste_auteur&amp;lettre=^Z) ou les auteurs qui ont un nom commençant par un ’A’ s’il n’y a pas de variable dans l’url.

-  La balise #SET{ variable,valeur } et son pendant #GET{variable} . La balise #SET{xxx,yyy} affecte une valeur yyy à une variable xxx propre au squelette calculé. Cette valeur peut être récupérée par la balise #GET{xxx}. Les variables créées ainsi ne sont pas transmises au squelette inclus.

Attention ! Si l’on affecte une valeur à une variable dans la partie facultative avant d’une boucle, il ne sera pas possible de récupérer cette valeur dans la boucle. Cela tient à la manière dont Spip calcule les squelettes.

-  La balise #HTTP_HEADER{argument} permet de modifier l’entête HTTP de la page retournée par SPIP. Exemple : #HTTP_HEADER{Content-Type: text/css}. Attention ! Le fait d’utiliser cette balise supprime les boutons d’administration. Cette balise ne peut pas être utilisée dans des squelettes inclus via la syntaxe <INCLURE>.

-  La balise #VAL{argument} retourne l’argument entre accolade. Par exemple #VAL{toto} retourne "toto".

-  La balise #CONST{nom_de_constante} retourne la valeur de la constante passée en argument.

-  La balise #EVAL{argument} évalue l’expression PHP mise en accolade. Par exemple #EVAL{1+1} affichera 2, #EVAL{_DIR_IMG_PACK} affichera ainsi le chemin vers le répertoire ecrire/img_pack/. Attention, il est fortement conseillé de s’en servir avec modération.


-  La balise #CACHE{temps} permet de déterminer le délai au bout duquel le squelette est réinterprété. Le temps est exprimé en secondes. Il peut se mettre sous forme de calcul. Par exemple : #CACHE{24*3600}.

-  La balise #SQUELETTE affiche le chemin du squelette courant.

Auteur L’équipe de SPIP Publié le : Mis à jour : 01/07/23

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Nederlands