Attention version de SPIP
C’est le plugin "squelettes par rubriques" qui permet la personnalisation de l’apparence selon la langue ou la rubrique de l’objet principal concerné. Ce plugin a été intégré à la distribution de base de SPIP jusqu’à la version 3.2.
À partir de SPIP 4.0.0, il faut installer et activer le plugin "squelettes par rubriques" pour en bénéficier.
Des mises en page différentes
Comme mentionné dans le Principe général et dans la documentation sur le multilinguisme, SPIP permet de gérer des variantes des squelettes, par langue, par rubrique ou les deux.
On peut souhaiter, par exemple, que tous les articles d’une rubrique aient une mise en page différente : couleur de fond et taille de texte différentes, informations relatives aux mots clés mises en évidence, etc.
Ou encore que le contenu d’une rubrique donnée soit présenté différemment parce qu’il correspond à un type de données différent : par exemple en listant tous les articles par numéro, y compris leur contenu qui serait court, plutôt que les derniers en dates suivis d’une pagination de tous les articles, avec des liens vers les pages d’articles.
Enfin, on pourra aussi vouloir que l’interface du site soit différente selon la langue de l’article ou de la rubrique.
Les variantes de squelettes sont une solution simple — mais du coup, pas forcément très souple — pour permettre à SPIP de faire cela.
Pour bénéficier de mises en pages différentes, il suffit de réaliser des squelettes différents auxquels on donnera des noms de fichier dont le suffixe indique quand il faut les utiliser :
- article.en.html
: squelette pour les articles en langue anglaise,
- rubrique.html
et article.html
: squelettes par défaut, s’appliquant à toutes les rubriques et articles n’ayant pas de squelette particulier, leur présence est obligatoire dans le même répertoire que les variantes pour que celles-ci soient prises en compte.
- rubrique=22.html
: squelette pour la seule rubrique numéro 22,
- rubrique-22.html
: squelette pour la rubrique numéro 22 et toutes ses sous-rubriques,
- article=22.html
: squelette pour tous les articles de la seule rubrique 22,
- article-22.html
: squelette pour tous les articles de la rubrique 22 ainsi que tous ceux de toutes ses sous-rubriques,
Ordre exhaustif des variantes de squelette
Prenons l’exemple des squelettes d’article, avec des valeurs données de langue et de rubriques (mais l’explication ci-dessous reste valable pour les squelettes de rubriques ou les brèves, et bien sûr, quelles que soient les langues et les numéros de rubriques).
Rappelons avant tout que SPIP recherche d’abord le répertoire où il prendra le squelette, comme détaillé dans « Où placer les fichiers de squelettes ? », en cherchant s’il existe un fichier article.html
. Il ne faut donc pas créer de variante de squelette (par exemple un fichier article.cs.html
) sans créer dans le même répertoire un fichier article.html
, au risque de voir notre variante ignorée au profit du squelette générique d’un répertoire de priorité moindre.
Si ce fichier existe, SPIP utilise les fichiers de squelettes selon leur nom en commençant par « les plus précis », avec précédence du rubricage par rapport à la langue. Voici donc l’ordre (par priorité décroissante) dans lequel sont utilisés les fichiers de squelettes selon leur nom :
- article=8.cs.html
: si ce fichier existe, il ne s’applique qu’aux articles en langue tchèque de la rubrique numéro 8 (mais pas aux articles contenus par ses sous-rubriques).
- article=8.html
: si ce fichier existe, il s’applique aux articles de la rubrique 8 (sauf aux articles concernés par un fichier spécifiant aussi la langue, tel que précédemment).
- article-2.es.html
: si ce fichier existe, il s’applique aux articles en espagnol contenus dans la rubrique 2 et ses sous-rubriques. Si la rubrique 8 est une sous-rubrique de la 2 et si les fichiers ci-dessus existent, ils prévaudront.
- article-2.html
: si ce fichier existe, il s’applique aux articles contenus dans la rubrique 2 et ses sous-rubriques (sauf aux articles concernés par les fichiers indiqués ci-dessus).
- article.vi.html
: si ce fichier existe, il s’applique aux articles en vietnamien, dans toutes les rubriques (sauf aux articles concernés par les fichiers indiqués ci-dessus).
- Enfin, le fichier article.html
s’applique à tous les articles qui ne sont pas concernés par les fichiers indiqués ci-dessus. Et, répétons-le, il est nécessaire que ce fichier existe.