Salut. J’aimerais rajouter du code après l’une des étapes suivantes :
après l’ajout d’un document joint à un article
après la modification d’un document joint à un article
Visiblement aucun pipeline n’est dispo pour m’aider, et je dois donc faire un rajout
de code dans la fonction qui se charge de l’ajout / modification du document joint.
Maintenant est il possible de rajouter moi-même (simplement) un pipeline , ou est il
plus simple de rajouter bêtement mon code aux bons endroits ? (Pas certain d’être très clair).
Question subsidiaire, à quel endroit , quelle méthode faudrait il que je rajoute mon code ?
Merci de ton aide , par contre je sais pas encore comment mettre
ça en application.
si qqu'un peut m'aider.
Je m'attendais plus à une structure
Plugin.xml
Plugin_xxx_fonctions.php
Plugin_xxx_options.php
Mais là c'est pas le cas , il y'a un fichier xml et un php sans
vraiment d'explication ou doc.
Le plugin reprend à l'identique la structure de spip. C'est juste un
fork de la fonction inc_ajouter_documents().
Il y a juste une différence principal avec le fichier /inc/ajouter_documents.php
c'est l'ajout du pipeline : post_edition
Donc il suffit d'exploiter ce pipeline dans ton plugin.
Sinon tu dis que c'est en natif en 193. De quoi parles -tu ? 193 ?
La version de SPIP en développement.
Ou une arlésienne C'est en devenir la prochaine version stable ... un jour.
Par conséquent dans la prochaine version stable, il n'y aura plus
besoin d'utiliser le plugin pipeline_document_192
Finalement je vais éviter de me servir des pipelines.
J'ai pas compris comment utiliser ceux-là.
On va y aller à l'ancienne.
J'ai trouvé où me greffer pour l'ajout de documents : dans
/inc/ajout_documents.php.
Par contre pour l'édition et la suppression je ne trouve pas.
Vous ne sauriez pas par hasard ?
J'ai bien trouvé une fonction action_supprimer_document
dans /action/supprimer.php, mais apparemment lors de la suppression d'un doc
cette fonction n'est étrangement pas appelée. Il ne logge pas les traces que
j'ai rajoutées.
Slt, y'a-t-il un pti tuto ou une aide disponible pour le rajout
D'un pipelnie / point d'entrée dans le code de Spip ?
J'ai déjà lu les tutos pr le dév des plugins avec ou sans pipeline,
mais là ce qui m'intéresserait c'est de rajouter 2 ou 3 points d'entrée
pour mes besoins.
Slt, y'a-t-il un pti tuto ou une aide disponible pour le rajout
D'un pipelnie / point d'entrée dans le code de Spip ?
S'inspirer des pipelines existants
Il n'y a pas une méthode unique, ça dépend des besoins (afficher,
traiter des données, etc)
J'ai déjà lu les tutos pr le dév des plugins avec ou sans pipeline,
mais là ce qui m'intéresserait c'est de rajouter 2 ou 3 points d'entrée
pour mes besoins.
Peux-tu les décrire ? Ca pourrait servir à d'autres.
Bah en supposant qu'un article soit créé. Je veux pouvoir appeler une
procédure
de copie de fichier après avoir joint un document a un article, apres
l'avoir éditer ou supprimer.
On a essayé de m'orienter vers un plugin apparemment déjà fait, mais je n'ai
ni compris
comment ça marchait, ni comment le mettre en place.
Cad , un fichier xml qui contient en fait une page HTML ...hummm
Donc le plus simple c'est que je refasse mon propre plugin mais il faudrait
pour cela que
Je repose 3 pipelines
- apres l'action de joindre un doc
- apres la modification du doc joint
- apres la suppression du doc joint
Bon je reviens à la charge. Le plugin proposé (/pipeline_document_192)
fait le boulot demandé. Dans la prochaine version de spip il n'y aura
pas besoin du dit plugin vu que le pipeline existe nativement.
Il te suffit de mettre dans ton plugin.xml la déclaration <pipeline>
avec le point d'entré "post_edition"
Le fichier php ajouter_documents.php ne contient (faute d'erreur de ma part)
aucune fonction.
On est bien d'accord que pour un plugin "pipeliné"
Il faut :
- Un fichier xml (assez court et non pas une page HTML) qui indique le point
d'entrée, la méthode a appeler,
Les fichiers php a inclure, etc.
- Les fichiers php qui contiennent les fonctions appelées pour le plugin.
Or là dans ce que tu m'as envoyé , je ne vois de tout ça.
C'est pour ca que je comprends pas.
Or le pipeline dont tu as besoin n'existe qu'à partir de la 193. Pour
pouvoir l'utiliser dans la version stable actuelle (192) tu dois
installer et activer le plugin pipeline_document_192.
Ce plugin ne fait que rajouter le pipeline, ni plus ni moins.
A partir de là c'est dans ton plugin, que tu fais le necessaire pour
exploiter cette entrée.
En resumé :
1/ Tu actives le plugin pipeline_document_192
2/ Tu exploites le pipeline post_edtion dans ton plugin
En installant le plugin dans mon répertoire plugin ca ne marche pas.
Dans la gestion de plugins, il n'est pas reconnu pour une histoire de
syntaxe a priori.
Alors peut etre que je me goure pr la procédure d'install.
Moi ce que j'ai fait c'est que je me suis crée un repertoire plugin_document
dans le répertoire plugin
de spip.
J'y ai mis le fichier pluginx.xml dispo sur le lien que tu m'as passé, et le
fichier ajouter_documents.php
Pr confirmation c'est le point d'entrée post_edition que je dois utiliser
pour mon nouveau plugin (qui doit faire une recopie du fichier joint à un
article) ?