Passer à SPIP-r (pratique)

  Convertir Zpip vers le successeur Spipr


Rappelons que la démarche de squelettes Z, considère que le squelette d’une page -nommée selon la nomenclature SPIP- est composé par assemblage automatisé de blocs homonymes, extraits des divers sous-dossiers correspondants aux emplacements du Layout.

SPIP-r constitue la formulation aboutie pour adaptation rapide par les développeurs, encore plus utile à mesure que l’on crée de nouvelles pages.

Mais pour tous ceux qui ont déjà des thèmes pour Z, ou qui veulent les migrer en Spip-r, voici une check-list récapitulant les actions à prendre en compte...

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 1. images/

Renommer le sous-dossier images en img.

 2. habillage.css

Renommer habillage.css en theme.css et le placer dans le dossier css/ (à créer si nécessaire).
Dedans, changer toutes les occurrences de images/xxx.ext en img/xxx.ext.

 3. body.html

Éditer body.html et faire les changements suivants :

  • Encapsuler le tout dans une balise <body>
  • #ENV{type}#ENV{type-page}
  • fond=navigationfond=aside
  • fond=entetefond=header
  • fond=piedfond=footer
  • fond=contenufond=content
  • fond=inclure/barre-navfond=inclure/nav

Ajouter le filtre navbar_responsive pour la barre de navigation : [(#INCLURE{fond=inclure/nav,env}|navbar_responsive)]

 4. paquet.xml

Pour que le thème soit détecté par le sélecteur de Zengarden, ajouter si nécessaire la balise <utilise nom="spipr" compatibilite="];[" /> dans paquet.xml ou plugin.xml.

 Et aussi !

Rappelons que la syntaxe d’appel des pages personnalisées a changé entre Zpip et Z/Z-Core/Spipr : l’appel #URL_PAGE{XXX;...} des squelettes nommés auparavant page-XXX.html s’attendra désormais à trouver un fichier squelette nommé seulement XXX.html [1] !


Comme tous les générateurs (Symfony etc..) Spipr est très consommateur : vous risquez donc d’avoir des déboires (des messages d’erreur [2], et des pages blanches), à moins d’adapter votre environnement :
- augmentez la valeur de max_execution_time ,
- multipliez à plusieurs centaines max_input_nesting_level et/ou xdebug.max_nesting_level dans votre php.ini !


À partir de là, le thème devrait être fonctionnel avec SPIPr, mais il reste sans doute à peaufiner quelques détails dans theme.css.

Vous pouvez aussi relancer les paramétrages en utilisant Less, avec l’import de css/variables.less et css/mixins.less<<< ; ; ;

Sur la zone, les thèmes compatibles SPIPr sont rangés dans le répertoire http://zone.spip.org/trac/spip-zone/browser/_themes_/spipr/v1


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1dans ./content plutôt que dans ./contenu comme en Zpip

[2Fatal error : Maximum function nesting level of ’100’ reached, aborting !


Liens visibles seulement pour les inscrits.

Article publié le 15 avril 2016, et actualisé en avril 2016 .

Répondre à cet article