Un pipeline permet de faire transiter un code entre plusieurs intermédiaires (des fonctions) pour le compléter ou le modifier.
Déclaration dans un plugin
Chaque plugin peut utiliser un pipeline existant. Pour cela, il déclare son utilisation dans le fichier plugin.xml
de la sorte :
<pipeline>
<nom>header_prive</nom>
<inclure>cfg_pipeline.php</inclure>
</pipeline>
- Nom : indique le nom du pipeline à utiliser,
- Inclure : indique le nom du fichier qui contient la fonction à exécuter au moment de l’appel du pipeline (
prefixPlugin_nomPipeline()
).
Déclaration hors plugin
Une utilisation d’un pipeline en dehors du cadre d’un plugin reste possible. Il faut alors déclarer son utilisation directement dans le fichier config/mes_options.php
:
$GLOBALS['spip_pipeline']['nom_du_pipeline'] .= "|nom_de_la_fonction";
// Exemple d'ajout dans le pipeline "insert_head" :
$GLOBALS['spip_pipeline']['insert_head'] .= "|nom_de_la_fonction";
function nom_de_la_fonction($flux) {
return $flux .= "Ce texte sera ajoute";
}
La fonction appelée doit être connue au moment de l’appel du pipeline, le plus simple étant de la déclarer comme ici pour la fonction nom_de_la_fonction
dans le fichier d’option.