[spip-dev] pipeline

Bonjour,

je ne comprend pas trop le pipeline definit dans plugin.xml

Peut il y avoir plusieurs pipeline définis, ou est ce une seule
defiition qui appelle un fichier pouvant comporter x fonctions qui
seront executées à chaque fois que dans le code de spip apparait
l'appel a la fonction pipeline() ?

Pouvez vous m'eclairer ?

Merci

Le pipeline est un tuyau dans lequel passe un flux de données (en general textuel).
Il y a plusieurs pipelines definis dans le code de spip, chacun correspondant a un flux particulier, et donc chacun ayant son propre nom
Lorsqu'un plugin se branche sur un pipeline particulier, définit par son nom, il voit passer ce flux qu'il a la possibilité de modifier a sa guise avant de le retourner en resultat.
Ainsi, chaque plugin peut intervenir sur l'un des pipeline prédéfinis pour modifier le comportement par defaut de spip.
Par le tag <pipeline> du fichier plugin.xml, on definit ainsi a spip quelle fonction doit etre branchée sur quel pipeline (fonction qui verra passer le flux de données), et eventuellement quel fichier source il faut inclure avant d'appeler la fonction.
Cedric

[Yaquoi] a écrit :

Ok merci,

donc si j'ai bien compris si je veux agir sur
pipeline('exec_init')...
dans la balise <pipeline> dans plugin.xml :
il faut que le tag <nom> soit exec_init ,
ensuite que le tag <action> appelle la fonction contenue dans le
fichier definit par le tag <inclure>, c'est ca ?

Mais comment connaitre le role des differents pipelines ?

Merci

[Yaquoi] a écrit :

Ok merci,

donc si j'ai bien compris si je veux agir sur pipeline('exec_init')... dans la balise <pipeline> dans plugin.xml :
il faut que le tag <nom> soit exec_init , ensuite que le tag <action> appelle la fonction contenue dans le fichier definit par le tag <inclure>, c'est ca ?

oui, regarde les exemples dans les plugins de la zone

Mais comment connaitre le role des differents pipelines ?

ah oui il manque encore une doc ... ca va venir
Il faut chercher dans le code la
J'ai commencé un truc la, mais c'est sommaire :

Les pipelines disponibles :

Pipelines de mise en forme du texte publié :

pre_typo, post_typo, pre_propre, post_propre,

affichage_final : rendu final de la page html complète

pre_indexation :

pre_syndication, post_syndication

Pipelines utilises pour l’espace privé

ajouter_boutons : gestion des boutons de la barre de menu de l’espace privé

ajouter_onglets : onglets thematiques

header_prive : contenu du <head>…<head> de l’espace privé

body_prive : balise body de l’espace privé

exec_init : appelé dans l’espace privé, avant tout affichage

affiche_gauche, affiche_droite, affiche_milieu : pour inserer du contenu dans l’espace privé, colonne de gauche, de droite ou centrale

taches_generales_cron : liste des taches appelées par la fonction CRON (action d’arrière plan)

Cedric