Neutraliser l'appel à un pipeline

Bonsoir à tous !

Il y a un pipeline qui rajoute un traitement suite à une modif que je fais sur un objet dans une fonction de mes_fonctions.php appelé par un autre pipeline !

Je ne sais si je suis clair...

Bref, comment neutraliser l'appel d'un pipeline ?

Merci d'avance de votre aide !

Gilles L

SPIP a certainement pensé à une chose très propre mais pour moi, la seule chose qui me vient à l'idée c'est de virer la ligne appelante de ton pipeline dans paquet. Ou alors de le neutraliser voire même de le tuer dans mes_fonctions.php en le mettant en remarque.. Après tout dépend de ce que tu veux faire..
Bernard

Le 04/09/2019 à 19:05, Robomatix Rebirth a écrit :

Bonsoir à tous !

Il y a un pipeline qui rajoute un traitement suite à une modif que je fais sur un objet dans une fonction de mes_fonctions.php appelé par un autre pipeline !

Je ne sais si je suis clair...

Bref, comment neutraliser l'appel d'un pipeline ?

Merci d'avance de votre aide !

Gilles L

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 04/09/2019 à 19:05, Robomatix Rebirth a écrit :

Bonsoir à tous !

Hello,

Il y a un pipeline qui rajoute un traitement suite à une modif que je fais sur un objet dans une fonction de mes_fonctions.php appelé par un autre pipeline !

Je ne sais si je suis clair...

Bref, comment neutraliser l'appel d'un pipeline ?

Merci d'avance de votre aide !

Tu peux donner d'avantage de précision ? Il y aurait peut-être une solution passant par autre chose qu'une neutralisation, en amont ou en aval du pipeline te posant souci ?

Le 05/09/2019 à 06:57, 6ril a écrit :

Le 04/09/2019 à 19:05, Robomatix Rebirth a écrit :

Bonsoir à tous !

Hello,

Il y a un pipeline qui rajoute un traitement suite à une modif que je fais sur un objet dans une fonction de mes_fonctions.php appelé par un autre pipeline !

Je ne sais si je suis clair...

Bref, comment neutraliser l'appel d'un pipeline ?

Merci d'avance de votre aide !

Tu peux donner d'avantage de précision ? Il y aurait peut-être une solution passant par autre chose qu'une neutralisation, en amont ou en aval du pipeline te posant souci ?

  En amont ou en sortie....pas en amont ou en aval..dur le matin

Merci pour ta demande de précisions.

Voilà ce que j'ai dans mes_options :

$GLOBALS['spip_pipeline']['bank_traiter_reglement'] .= "|abonnement_apres_paiement";

Le but est de créer des abonnements après le paiement de la commande

Dans la fonction abonnement_apres_paiement, j'utilise la fonction "abonnements_creer_ou_renouveler"

Dans abonnements_pipelines.php du plugin abonnement , il y a le pipeline abonnements_post_edition qui détecte si il y a une commande et en gros appel la fonction abonnements_creer_ou_renouveler.

En gros, quand je fais une commande, l'abonnement est créé via la fonction abonnement_apres_paiement et il est renouveler par abonnements_creer_ou_renouveler. Et on se retrouve avec un abonnement de 2 an au lieu de un...

Le truc, c'est que l'on veut qu'un acheteur puisse s'abonner plusieurs fois à une revue papier si c'est un organisme pour recevoir plusieurs numéro et les distribuer à ces membres.

Une des conditions pour que le pipeline abonnements_post_edition fasse le traitement, c'est $flux['args']['table'] == 'spip_abonnements'. J'ai essayé de mettre $flux['args']['table'] = '' de différente façon, mais ça n'a pas marché.

Pour le moment, j'ai fait une copie de abonnements_pipelines.php et mis en commentaire le traitement indésirable et ça à l'air de marcher comme on le souhaite, mais ce n'est pas vraiment une bonne solution !

Ai-je été assez clair ?

Merci de votre aide.

Gilles L

Le 05/09/2019 à 07:01, 6ril a écrit :

Le 05/09/2019 à 06:57, 6ril a écrit :

Le 04/09/2019 à 19:05, Robomatix Rebirth a écrit :

Bonsoir à tous !

Hello,

Il y a un pipeline qui rajoute un traitement suite à une modif que je fais sur un objet dans une fonction de mes_fonctions.php appelé par un autre pipeline !

Je ne sais si je suis clair...

Bref, comment neutraliser l'appel d'un pipeline ?

Merci d'avance de votre aide !

Tu peux donner d'avantage de précision ? Il y aurait peut-être une solution passant par autre chose qu'une neutralisation, en amont ou en aval du pipeline te posant souci ?

En amont ou en sortie....pas en amont ou en aval..dur le matin

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 05/09/2019 à 07:45, Robomatix Rebirth a écrit :

Le but est de créer des abonnements après le paiement de la commande

Il y a un plugin qui permet de faire ça sans rien avoir à coder : https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/commandes_abonnements/trunk

Pas encore documenté, mais le commit initial explique les grandes lignes : https://zone.spip.net/trac/spip-zone/changeset/108525/spip-zone/_plugins_/commandes_abonnements/trunk

Merci. Mais on doit pouvoir commander d'autres choses en même temps dans notre cas.

Je n'ai pas l'impression que l'on puisse le faire avec ce plugin.

Vous pouvez me corriger si je me trompe :wink:

Gilles L

Le 05/09/2019 à 11:58, tcharlss a écrit :

Le 05/09/2019 à 07:45, Robomatix Rebirth a écrit :

Le but est de créer des abonnements après le paiement de la commande

Il y a un plugin qui permet de faire ça sans rien avoir à coder : https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/commandes_abonnements/trunk

Pas encore documenté, mais le commit initial explique les grandes lignes : https://zone.spip.net/trac/spip-zone/changeset/108525/spip-zone/_plugins_/commandes_abonnements/trunk

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 05/09/2019 à 12:05, Robomatix Rebirth a écrit :

Vous pouvez me corriger si je me trompe

Rien ne t'oblige à utiliser le formulaire de commande fourni par le
plugin (qui sert à générer une commande d'abonnement uniquement). Mais
ça ne change rien que lorsqu'il trouve une ou plusieurs offres dans les
"détails" d'une commande payée, il génère alors tous les abonnements qui
vont bien. Donc ça fait bien cette partie là, même si t'as construit ta
commande autrement par tes propres moyens avant.

--
RastaPopoulos

Le 05/09/2019 à 12:05, Robomatix Rebirth a écrit :

Merci. Mais on doit pouvoir commander d'autres choses en même temps dans notre cas.

Je n'ai pas l'impression que l'on puisse le faire avec ce plugin.

Vous pouvez me corriger si je me trompe :wink:

Oui c'est exact

Ben en gros, j'ai suivi le tuto e-commerce.

Adapté des choses... Les abonnements sont bien créés après une commande, mais un pipeline redonnait un coup de renouvellement d'abonnement car il y a une commande justement dans le flux. Maintenant, après avoir honteusement mis en commentaire la partie concernée dans le pipeline, tout marche comme on le souhaite. Donc, je ne vais pas tout refaire !

Je trouve l'idée des pipelines très bonne, mais c'est juste dommage que l'on puisse pas les neutraliser ou les appeler à un moment précis et modifier les infos que l'on leur envois. Ainsi, j'aurais faire croire au pipeline qu'il n'y avait pas de commande...

Je jetterais un oeil au plugin pour voir comment il est fait, ça me donnera peut être des idées pour faire les choses plus proprement.

Là, il faut que j'avance sur d'autres fonctionnalités.

Gilles L

Le 05/09/2019 à 12:09, RastaPopoulos a écrit :

Le 05/09/2019 à 12:05, Robomatix Rebirth a écrit :

Vous pouvez me corriger si je me trompe

Rien ne t'oblige à utiliser le formulaire de commande fourni par le
plugin (qui sert à générer une commande d'abonnement uniquement). Mais
ça ne change rien que lorsqu'il trouve une ou plusieurs offres dans les
"détails" d'une commande payée, il génère alors tous les abonnements qui
vont bien. Donc ça fait bien cette partie là, même si t'as construit ta
commande autrement par tes propres moyens avant.

Le 05/09/2019 à 07:45, Robomatix Rebirth a écrit :

Une des conditions pour que le pipeline abonnements_post_edition fasse le traitement, c'est $flux['args']['table'] == 'spip_abonnements'. J'ai essayé de mettre $flux['args']['table'] = '' de différente façon, mais ça n'a pas marché.

Tu as essayé un debug en traçant dans des logs ?