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&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.