Déclarer un nouveau pipeline

Créer un nouveau pipeline, c’est déclarer son existence pour le faire connaître à SPIP, et appeler ce pipeline en un endroit du code.

Déclaration

Le plus simple est de déclarer un nouveau pipeline dans le fichier paquet.xml d’un plugin, en remplissant l’attribut action vide :

<pipeline nom="nouveau_pipeline" action='' /> 

L’autre possibilité est de le déclarer dans un fichier d’option en remplissant le tableau global spip_pipeline de la sorte :

$GLOBALS['spip_pipeline']['nouveau_pipeline'] = '';

Utilisation

Ensuite, il faut l’appeler, soit dans un squelette soit dans un fichier PHP. La balise #PIPELINE ou la fonction PHP pipeline() utilisent les mêmes arguments :

  • Dans un squelettes : #PIPELINE{nouveau_pipeline,contenu au demarrage}
  • Dans un source php : $data = pipeline('nouveau_pipeline',"contenu au demarrage");.

Dans les deux écritures, l’argument initial « contenu au demarrage » est envoyé dans le pipeline. L’exécution passe alors successivement par les fonctions implémentant ce pipeline dans tous les plugins qui en ont déclaré l’utilisation. Chaque fonction reçoit l’argument et peut le modifier. Le résultat final de cette succession d’appels est renvoyé au contexte appelant.

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français