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éfixespage-
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.htmlajout de
dans body.html, et donc
modification destructure.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).
Article publié le 6 décembre 2015, et actualisé en novembre 2022 .
Répondre à cet article