Variantes et Compositions

  gérer plusieurs squelettes pour un même objet

Quant on gère un objet éditorial dans plusieurs branches d’une arborescence de rubriques, on peut avoir besoin de spécialiser sa présentation (et son contenu) selon les rubrique : SPIP propose plusieurs approches, plus ou moins complexes à gérer à long terme...

Article publié le 23 octobre 2020, et actualisé en octobre 2020

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Les Variantes de Squelettes par Rubrique

Cette fonctionnalité est native depuis les débuts de SPIP. Fondée sur l’arborescence des rubriques, elle à définir plusieurs versions du fichier squelette (en plus de la version générique), suffixées en fonction d’un id_rubrique NNN par :
- un ={NNN} pour choisir la seule rubrique indiquée,
- un -{NNN} pour choisir la branche issue de cette rubrique.

Simple d’usage, cette façon de faire n’est pas transportable entre sites, risque de souffrir des ré-organisations des rubriques, et oblige à bien connaitre leur arborescence.

 Des plugins élémentaires

Un plugin a simplifié une technique très utilisée (d’ailleurs dérivée de bidouillages des variantes de fichiers .CSS) : choisir d’affecter un Couleur de Rubrique lors de sa définition,permettra alors de récupérer le code RGB correspondant par un filtre sur son identificateur, comme :
[(#ID_RUBRIQUE|couleur_rubrique)]
Le plugin Couleur d’Objet généralise cette fonctionnalité, en proposant une balise #COULEUR contextuelle, avec la disponibilité de plusieurs filtres et arguments..
De très nombreux webmestres ont préféré utiliser des mots-clés (cet objet éditorial natif permet de très nombreuses facilités, avec même un double niveau de hiérarchisation, sans parler des plugins Mots clés Arborescents et Groupes de Mots Arborescents) pour gérer cette technique, programmée dans les squelettes ; en raison de la complexité de gestion introduite dans l’interface privée, a même été développé un plugin simplificateur pour masquer ces Mots Techniques...

 Ajouter des nouveaux champs extras

Très souvent, les rédacteur se retrouvent à souhaiter des affichages complémentaires, basés sur des attributs nouveaux des objets éditoriaux de SPIP : de nombreux plugins proposent des objets adaptés, et la Fabrique permet à chaque webmestre de se créer facilement un nouvel objet idoine...
Il est souvent plus simple de rajouter des Champs Extras avec leur Saisie dans les objets natifs qui vous intéressent : l’interface est simple d’accès...

 La notion de Composition

Pour les squelettes, ce plugin Compositions développe et généralise la notion des variantes, mais avec une indexation nommée désormais indépendante des numéros des rubriques. Ce nom qualifiant chaque composition permet au(x) webmestre de sélectionner la présentation à appliquer à chaque objet éditorial...
Chaque composition est un(e variante de) squelette, un fichier .html tout ce qu’il y a de classique en SPIP, complété par sa description .xml : leur nom reprend le principe de nommage des variantes de fichiers, avec le nom de page de l’objet éditorial ciblé, suffixé du nom de composition,à déposer ensembles dans un sous-répertoire ./compositions du dossier /squelettes ou de l’un des sous-répertoires spécialisés (./contenu/compositions ou ./content/compositions pour les divers système Z).
De plus, la construction des compositions permet d’utiliser l’héritage [1]...

Encore plus fort, utiliser les fonctionnalités des API Champs Extra permet de restreindre [2] l’affichage de champs dans les squelettes, en fonction des objets ciblées et des identifieurs d’objets parents (en dur, par appels de fonctions dans ./config/mes_options.php).
L’usage de compositions dans l’interface privée n’est pas documenté...


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

[1De quoi vous donner envie d’en découvrir plus : https://contrib.spip.net/Compositions .

[2au sens d’empêcher l’affichage et/ou la modification,autre que par un test (#REM) !?


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

Article publié le 23 octobre 2020, et actualisé en octobre 2020 .

Répondre à cet article