Le fonctionnement de l’interface du noiZetier repose sur plusieurs étapes principales :
- Déterminer les pages et les blocs pouvant recevoir des noisettes.
- Lister les noisettes disponibles.
- Insérer les noisettes à la fin de chaque bloc.
Lister les pages et les blocs pouvant recevoir des noisettes
La première étape consiste à déterminer les pages pouvant recevoir une noisette. Par défaut, le noiZetier considère qu’à tout fichier HTML présent dans le sous-répertoire contenu
correspond une page pouvant recevoir des noisettes [1]. Les compositions classiques situées dans ce répertoire sont de fait automatiquement détectées par le noiZetier.
Ce répertoire par défaut peut être modifié en ajoutant une constante à un fichier d’options de la manière suivante :
define('_NOIZETIER_REPERTOIRE_PAGES','mon_repertoire/');
Pour améliorer la présentation des pages dans l’interface, les différentes pages peuvent être décrites sous la forme d’un fichier XML de même nom, présent dans le même sous-répertoire et reprenant une structure analogue à celle de la description des compositions (les paramètres en moins [2]). Exemple de description de la page article dans le plugin Aveline :
<page>
<nom><:aveline:nom_page_article:></nom>
<description><:aveline:description_page_article:></description>
<icon>img/ic_article.png</icon>
</page>
Concernant les compositions, le noiZetier reprend le nom, la description et l’icône définies directement dans leur XML de configuration.
Enfin, le noiZetier considère que chaque page contient trois blocs : contenu
, navigation
et extra
. Ces blocs par défaut ajoutés à chaque page peuvent être modifiés à l’aide d’un pipeline nommé noizetier_blocs_defaut
.
Il est également possible de spécifier, pour une page précise, les blocs de cette page en ajoutant dans le XML de cette page l’élément suivant pour chaque bloc de la page [3] :
<bloc id="sousrepertoire" nom="plugin:chainelange" description="plugin:chainelange" icon="img/fichier.png" />
Le tableau décrivant l’ensemble des pages et des blocs passe au travers d’un pipeline noizetier_lister_pages
permettant ainsi à un plugin de modifier ce tableau.
Lister les noisettes disponibles
La liste des noisettes est déterminée à partir du contenu des sous-répertoires noisettes
. Le nom des noisettes permet de déterminer sur quelles pages chaque noisette peut être proposée.
Voir Déclarer des noisettes au noiZetier pour plus de détails.
Insérer les noisettes à la fin de chaque bloc
Le noiZetier utilise le pipeline recuperer_fond
pour intercepter les appels à un squelette bloc/page.html
. Le cas échéant, le noiZetier ajoute à la fin du squelette une inclusion du squelette noizetier-generer-bloc.html
qui se charge d’inclure les noisettes proprement dites.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |