SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger

Les variables de personnalisation

Août 2002 — mis à jour le : Août 2013

Toutes les versions de cet article :


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 comme globales, avec une syntaxe un peu différente, dans un fichier intitulé mes_fonctions.php (mes_fonctions.php3 dans les versions antérieurs à SPIP 1.9), placé à la racine du site, ou, de préférence, dans votre dossier squelettes/ (cf. Où placer les fichiers de squelettes ?).
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. Voir les exemples.

Les variables du texte

Ces variables sont utilisées lors du calcul de la mise en page (correction typographique) par SPIP.

-  $GLOBALS['debut_intertitre'] fixe le code HTML inséré en ouverture des intertitres (par le raccourci {{{). En standard, sa valeur est :

-  $GLOBALS['fin_intertitre'] est le code HTML inséré en fermeture des intertitres (raccourci }}}). Sa valeur normale est :

Pour les notes de bas de page, depuis SPIP 3.0, les personalisations sont désormais passées en « define » au lieu de « globales » [1].

-  _NOTES_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 (<span class="spip_note_ref">&nbsp;[) ;

-  _NOTES_FERME_REF est le code de fermeture des appels des notes de bas de page ; par défaut, c’est un crochet fermant (]</span>) ;

-  _NOTES_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 (<span class="spip_note_ref">[) ;

-  _NOTES_FERME_NOTE est le code de fermeture des notes de bas de page ; par défaut, un crochet fermant (]&nbsp;</span>).

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é dans le dossier squelettes-dist/ à 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 :

A partir de la version 1.9.2, et en cas de mutualisation, on peut aussi mettre dans config/mes_options.php, et non pas dans squelettes/mes_fonctions la variable suivante :

-  $nombre_surligne représente le nombre maximum de fois où un mot recherché sera surligné dans le texte. Par défaut, cette valeur est définie à 4.

-  $ligne_horizontale est le code de remplacement du raccourci typographique ---- (quatre tirets) ou ____ (quatre caractères de soulignement) qui permet d’insérer une ligne horizontale dans le texte. Par défaut, c’est le code <hr class="spip" />

.

-  $url_glossaire_externe est l’adresse utilisée pour le raccourcis automatiques [?SPIP] vers un glossaire. Par défaut, le glossaire externe renvoie vers l’encyclopédie libre wikipedia.org.

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é, comme « proposés aux visiteurs du site public » sont utilisés.

Interdire l’affichage des boutons d’admin

Toutes les pages de squelette se voient ajouter des « boutons d’amin » (notamment : « recalculer cette page ») lorsqu’on est administrateur et qu’on a activé le cookie de correspondance. Cette fonctionnalité, très pratique pour gérer le site, peut s’avérer malpratique dans certains cas ; par exemple pour des fichiers XML, que l’on ne veut en aucun cas voir perturbés par de tels ajouts.

[SPIP 1.7] La variable flag_preserver permet d’interdire ces affichages.

On verra par exemple l’utilisation de cette variable dans backend.php3.

Le dossier des squelettes

Pour mettre les squelettes d’un site dans un dossier particulier (par exemple pour mutualiser les sources de SPIP, ou pour faire des essais de différents jeux de squelettes trouvés sur Internet, etc.) il suffit de l’indiquer par la variable $dossier_squelettes. Cette variable doit être affectée dans le fichier mes_options.php du répertoire config (dans les versions de SPIP antérieures à SPIP 1.9 ce fichier était dans d’autres répertoires, et on pouvait aussi affecter cette variable, introduite depuis SPIP 1.5, dans mes_fonctions.php situé à la racine, ce qui n’est encore admis à présent que par souci de compatibilité) :

À partir de ce moment-là, SPIP ira chercher en priorité les squelettes présents dans le dossier design/ (que vous aurez créé à la racine du site). Si, de plus, vous utilisez <INCLURE{fond=xxx}>, SPIP ira chercher le fichier xxx.html d’abord dans design/, puis, s’il n’y figure pas, à la racine du site.

Les avantages de ce rangement sont é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 que les liens vers les images ou les CSS, notamment, doivent tenir compte de cet emplacement. Il existe pour gérer le problème automatiquement la balise #CHEMIN, décrite dans Les balises propres au site. A noter également que la visualisation des squelettes via un simple navigateur sera également gênée, car le visiteur ne les trouvera pas à la racine du site : ça ne dérange en rien le fonctionnement, mais c’est peu compatible avec l’esprit du logiciel libre.

Cette variable permet en fait d’indiquer un ou plusieurs dossiers où SPIP cherchera les squelettes en priorité :

Ceci ouvre différentes possibilités, comme :
-  essayer un nouveau jeu de squelettes sans écraser l’ancien,
-  organiser vos squelettes en une arborescence de sous-répertoires : mes_skel:mes_skel/rss:mes_skel/formulaires:mes_skel/mailing,
-  gérer dynamiquement plusieurs jeux de squelettes grâce à des plug-ins comme le switcher,
-  etc.

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

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.

Il existe d’autres variables permettant de modifier le comportement de SPIP au niveau technique. Ces variables sont décrites sur le site de documentation technique.

Notes


Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé