Certains comportements des pages de votre site peuvent être modifiés au moyen de variables PHP. Ces variables sont normalement définies par SPIP, mais, pour obtenir une personnalisation plus fine du site, le webmestre peut les modifier.
Où indiquer ces variables ?
Inutile d’entrer dans le code source de SPIP lui-même pour fixer ces variables (ouf !).
Pour l’ensemble du site
Si vous voulez fixer ces variables pour l’intégralité du site, vous pouvez les indiquer, avec une syntaxe un peu différente, dans un fichier intitulé mes_fonctions.php3
, placé à la racine du site. (Il faudra éventuellement créer ce fichier, et entourer les définitions de vos variables par les marqueurs <?php
et ?>
, voir les exemples ci-dessous.)
Pour chaque type de squelette
[SPIP 1.4] Vous pouvez aussi définir ces variables squelette par squelette. Pour cela, il faut les installer au début du fichier PHP appelant le squelette (par exemple article.php3
, rubrique.php3
...). Elles s’insèrent naturellement à côté des variables obligatoires $fond
et $delais
.
Les variables du texte
Ces variables sont utilisées lors du calcul de la mise en page (correction typographique) par SPIP.
$debut_intertitre
fixe le code HTML inséré en ouverture des intertitres (par le raccourci {{{
). En standard, sa valeur est :
$fin_intertitre
est le code HTML inséré en fermeture des intertitres (raccourci }}}
). Sa valeur normale est :
N.B. L’intertitre standard proposé par SPIP peut sembler laid ou inefficace ; il s’explique par l’histoire du développement de ce programme ; sur votre propre site, vous pouvez évidemment choisir de créer un code qui plus « élégant » (en faisant notamment appel à une simple feuille de style).
$ouvre_ref
est le code d’ouverture des appels des notes de bas de page ; par défaut, c’est une espace insécable et un crochet ouvrant ;
$ferme_ref
est le code de fermeture des appels des notes de bas de page ; par défaut, c’est un crochet fermant.
$ouvre_note
est le code d’ouverture de la note de bas de page (telle qu’elle apparaît dans #NOTES
) ; par défaut, un crochet ouvrant ;
$ferme_note
est le code de fermeture des notes de bas de page (un crochet fermant).
Des choix alternatifs pourront être par exemple d’utiliser des parenthèses ; ou, plus joliment, d’ouvrir avec le tag HTML <sup>
, et de fermer avec </sup>
.
Le fichier puce.gif
et la variable $puce. Lorsque vous commencez une nouvelle ligne par un tiret, SPIP le remplace par une petite « puce » graphique. Cette puce est constituée par le fichier puce.gif
installé à la racine du site ; vous pouvez modifier ce fichier selon vos besoins. Mais vous pouvez aussi décider de fixer vous-même le choix de la puce, au travers de la variable $puce
. Par exemple pour indiquer un autre fichier graphique :
ou par un élément HTML non graphique :
Les variables pour les forums publics
Il existe des variables permettant de fixer le comportement des forums publics avec des mots-clés.
N.B. Ces variables ne sont utilisées que lorsque vous créez des forums publics dans lesquels les visiteurs peuvent sélectionner des mots-clés ; leur utilisation est donc extrêmement spécifique (et pas évidente...).
$afficher_texte
(« oui »/« non »). Par défaut, les forums publics sont conçus pour permettre aux visiteurs d’entrer le texte de leur message ; mais lorsque l’on propose le choix de mots-clés dans ces forums, on peut décider qu’aucun message n’est utile, seul la sélection des mots-clés importe. Dans ce cas, on pourra indiquer :
$afficher_groupe
permet d’indiquer les différents groupes de mots-clés que l’on souhaite proposer dans tel forum. En effet, tous les forums sur un site ne sont pas forcément identiques, et si, à certains endroits, on peut vouloir afficher une sélection de tous les groupes de mots-clés (ceux que l’ont a rendu accessibles aux visiteurs depuis l’espace privé), à d’autres endroits, on peut vouloir n’utiliser que certains groupes, voire aucune groupe (pas de sélection de mots-clés du tout).
La variable $afficher_groupe
est un tableau (array), et se construit donc de la façon suivante :
impose l’affichage uniquement des groupes 3 et 5.
interdit l’utiliser des mots-clés dans ces forums (puisqu’il n’existe pas de groupe de mots-clés numéroté 0.
Si l’on n’indique rien (on ne précise pas $afficher_groupe
), tous les groupes de mots-clés indiqués, dans l’espace privés, comme « proposés aux visiteurs du site public » sont utilisés.
Le dossier des squelettes
[SPIP 1.5] Si l’on souhaite mettre les squelettes de son site dans un dossier particulier, par exemple pour faire des essais de différents jeux de squelettes trouvés sur Internet, ou parce qu’on aime que les choses soient bien rangées, etc., il est possible de fixer dans mes_fonctions.php3
la variable $dossier_squelettes
.
À partir de ce moment-là, aucun des squelettes fournis en standard avec SPIP (les article-dist.html
) ne fonctionnera plus, pas plus que ceux qui vous aurez installé à la racine du site. Il vous faut alors créer le dossier design/
à la racine du site, et y installer votre squelette d’article, par exemple, faute de quoi la page article.php3?id_article=1
vous indiquera obstinément que « le squelette design/article.html n’existe pas ».
Les avantages de ce rangement peuvent sembler évidents (meilleure séparation du code de spip et de la structure du site, possibilité de changer tout un ensemble de squelettes d’un seul coup, etc.) ; l’inconvénient principal est qu’il sera plus difficile de visualiser les squelettes via un simple navigateur (les liens vers les images, notamment, risquent de « casser »).
Exemples
Pour modifier des variables uniquement pour un certain type de squelettes (par exemples pour les pages de rubriques), il suffit de les définir dans le fichier d’appel de ces squelettes. Par exemple, pour les rubriques, on peut fixer des valeurs directement dans rubrique.php3
:
Ici, on a modifié la valeur de l’espace autour des logos.
Pour modifier des valeurs de variables pour l’ensemble du site, on peut les définir dans le fichier mes_fonctions.php3
.
Attention, lorsqu’on définit des valeurs dans ce fichier, il faut impérativement utiliser la syntaxe $GLOBALS['xxx']
pour chacune des variables à personnaliser. Par exemple, pour définir la valeur de $debut_intertitre
, on utilise la syntaxe $GLOBALS['debut_intertitre']
.
L’utilisation de cette syntaxe est imposée par des impératifs de sécurité des sites.