Le dossier ./squelettes

Toute la personnalisation de SPIP par ses webmestres est gérée dans un dossier dédié : le dossier ./squelettes qui est le seul dossier où SPIP vous conseille d’écrire ou copier des fichiers manuellement.

Par principe, SPIP utilisera prioritairement tout fichier de ce répertoire, de préférence à un fichier d’origine de même nom.

Vous y placerez donc vos fichiers squelettes en HTML, vos feuilles de style CSS, et éventuellement d’autres fichiers programmes selon les développements.

Article publié le 12 mars 2013, et actualisé en août 2016

 
 
 
 
 
 

Rappelons que les pages publiques de votre site SPIP sont toujours générées à partir de fichiers squelettes, issus en standard de ./squelettes-dist...

 L’emplacement des squelettes

Conventionnellement le dossier de recherche préférentielle des squelettes personnalisés est baptisé .. ./squelettes.

Noter qu’ il est aussi possible d’utiliser un autre dossier, personnalisé, soit par une constante définie dans votre fichier mes_options (fichier optionnel de définitions de constantes pour SPIP en Php), soit lors de l’usage d’un plugin spécial, le Switcher de squelettes ou sa version Zen-Garden pour Zpip ou Z, Zcore et Thèmes.

Ce dossier sera exploré automatiquement par SPIP pour interpréter un fichier squelette en rencontrant :
- la balises #CHEMIN{...} (dans une instruction HTML src="..)
- l’une des balises #URL_...{...} (pour un appel de lien <a href="..)
- une balise #INCLURE{fond=...} (pour utiliser une noisette)
en précisant explicitement le sous-dossier éventuel.

N.B. : si le fichier n’a pas reçu un suffixe .html (à omettre dans l’écriture des balises ci-dessus), il sera lu et inclus dans la page générée, mais les balises SPIP qu’il contiendrait ne seront pas interprétées !

 Les noms des squelettes

Les fichiers squelettes sont généralement appelé du même nom que l’entité-table affichée ; pour identifier plus précisément Quel squelette modifier ?...

On sera souvent amené à leur "passer" un ou plusieurs arguments identifiant l’enregistrement ciblé : Syntaxe SPIP des squelettes.

<a href="URL_RUBRIQUE{#ID_ARTICLE}">..
<INCLURE{fond=contenu/#ENV{type},env}>

L’emplacement de stockage de ces fichiers est strictement normalisé sous SPIP, de façon à permettre la surcharge des squelettes et les mises-à-jour sans perte...

 L’arborescence sous squelettes

Traditionnellement les squelettes mono-fichiers (fichiers HTML et autres, CSS ou images) sont directement dans la racine du répertoire ; la seule exception obligatoire concerne les squelettes pour Utiliser des Formulaires, descendus dans le sous-répertoire éponyme, et de même les noisettes modèle d’insertion en texte.

Très souvent un sous-répertoire inclure/ est consacré aux noisettes.
De plus en plus d’autres sous-répertoires apparaitront, comme :
- css/ pour les feuilles de style
- img/ pour les illustrations décorant les squelettes [1]
- js/ pour des routines JavaScript, en particulier JQuery..

La structure Zpip impose aussi les sous-répertoires normalisés correspondant aux blocs fonctionnels :
- contenu/ pour chaque squelette page-..
- navigation/ et extra/
- enfin contenu/ sans oublier inclure/

 Ou trouver les fichiers d’origine

Nous avons vu que SPIP utilise le mécanisme de surcharge des squelettes pour remplacer un fichier d’origine de Squelettes de la "dist" par votre propre version modifiée de ce fichier.
Ce mécanisme permet de protéger votre travail d’adaptation de l’écrasement en cas de Mises à jour..... à problèmes ? ; d’expérience, il est assez rare pour les débutants en SPIP d’avoir développé des squelettes qui s’avéreraient non compatibles avec les montées de versions....

En fonctionnement natif, SPIP recherche les fichiers dans les divers répertoires du produit dans un ordre bien défini, au premier trouvé :
- votre dossier ./squelettes
- les sous-dossiers .squelettes des plugins activés,
- les sous-dossiers .squelettes des ./plugins-dist/ en SPIP 3 ou ./extensions/ en SPIP 2,
- les squelettes de Squelettes de la "dist" dans ./squelettes-dist.
- sinon les squelettes du ./prive et ./ecrire ,
- et quelques cas particuliers sont extraits de ./config.

Par rapport à ces divers points de recherche, il vous appartiendra d’expliciter un sous-niveau dans l’écriture des balises #CHEMIN et #INCLURE, exemple :
<INCLURE{fond=inclure/article-resume,id_article}>

La commande &var_mode=inclure ou le plugin SkelEditor vous faciliteront l’enquête si besoin.


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Ne pas confondre avec le répertoire ./IMG/ des documents et illustrations jointes, utilisé dans le texte de articles grace au Utiliser des Formulaires.


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 12 mars 2013, et actualisé en août 2016 .

Répondre à cet article