Utiliser Z-core, le futur de Zpip pour Spipr

  la construction modulaire des squelettes du futur

La démarche de construction de squelettes par composition de noisettes a été validée avec Zpip, mais celui-ci devrait disparaitre des prochaines versions de SPIP, en particulier au profit de Z-core, qui reprend les memes principes, mais généralisés à l’ensemble du site public (les ./squelettes/ de SPIP ) et de l’espace privé ( à trouver dans ./prive/).

Article publié le 6 décembre 2015, et actualisé en novembre 2022

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Rappel synthétique de Zpip-dist v1

La démarche de décomposition Z s’articule autour d’une première normalisation en cinq blocs, dont deux constants, explicité dans https://contrib.spip.net/3437, soit une liste extensible par
   $GLOBALS['z_blocs']=array('contenu','navigation','extra','head','more');
(qui était défini par défaut dans z_options.php )

On retrouve les 4 blocs par défaut ayant une déclinaison par page dans Zpip, et le bloc more ajouté dans notre cas.

La seule obligation sur l’ordre de figuration des blocs est de placer en premier celui qui affiche le contenu principal (ici contenu, ou parfois content ) et qui sera utilisé comme bloc maître.

Les squelettes de chaque bloc sont rangés dans un dossier de même nom (on aura dans notre cas un dossier more/ dans le dossier squelettes). A l’exception du bloc de contenu principal, tous les autres blocs doivent proposer un squelette dist.html qui affiche le contenu par défaut pour les pages n’ayant rien défini pour ces blocs.

 Passage à Z-Core et spipr

Pour accompagner le passage à HTML 5, la nomenclature des sous-dossiers a été modifiée : d’après Contrib : zcore-pratique, il faut d’abord rajouter une ligne définissant les blocs dans mes_options.
spipr

Ce fonctionnement prévu pour le plugin Z-core (de préfixe zcore )

Passage de Zpip 1.x à Z-dist 2.0 :
- suppression des préfixes page- sur les squelettes
- renommage des dossiers pour les conventions utilisees en html/css :

  • contenu -> ./content
  • navigation -> ./aside
  • extra -> ./extra
  • head -> ./head (déjà existant, pour les inclusions du <head> HTML)
    - pied et entete deviennent des blocs comme les autres et sont renommés également comme blocs html :
  • inclure/entete.html -> ./header/dist.html
  • inclure/pied.html -> ./footer/dist.html

- ajout de dans body.html, et donc
- modification de structure.html :

  • suppression de la balise
  • suppression de la prise en charge de var_zajax qui est gérée par Z-core et provoque l’appel de ajax.html

Le plugin redéfinit le couple des balises #BOITE_OUVRIR #BOITE_PIED et #BOITE_FERMER déjà connues des développeurs de l’espace privé...

Les blocs à utiliser sont définis dans l’appel à la fonction zcore_blocs() qui rend un résultat différent entre :
- l’espace privé : contenu navigation extra head hierarchie top
- l’espace public : content (les autres étant définis par la structure du body.html..., et paramétrés dans $GLOBALS['z_blocs'] = array('content', 'aside', 'extra', 'head', 'head_js', 'header', 'footer'); (à insérer dans mes_options).


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


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

Article publié le 6 décembre 2015, et actualisé en novembre 2022 .

Répondre à cet article