Salut
Pour « mon » plugin, je voudrais supprimer la fonction de découpage de texte long. Je fait donc une copie de editer_article.php dans le dossier exec de mon plugin et je supprime cette fonction. Par contre ça rentre en conflit avec d’autre plugin qui modifie aussi ce fichier.
Y a-t-il une meilleur façon de faire ? Puis-je par exemple ne modifier que la fonction qui m’intéresse dans ce fichier, supprimer toutes les autres et spip se débrouille pour les retrouver ?
VinceVg
Vince VG a écrit :
Salut
Pour « mon » plugin, je voudrais supprimer la fonction de découpage de texte long. Je fait donc une copie de editer_article.php dans le dossier exec de mon plugin et je supprime cette fonction. Par contre ça rentre en conflit avec d’autre plugin qui modifie aussi ce fichier.
Y a-t-il une meilleur façon de faire ? Puis-je par exemple ne modifier que la fonction qui m’intéresse dans ce fichier, supprimer toutes les autres et spip se débrouille pour les retrouver ?
VinceVg
Si la fonction possède un _dist à la fin, ça ceut dire que spip l'appelle avec $fonction = charger_fonction('la_fonction','inc'); A ce moment là, tu peux créer dans mes_fonctions.php (enfin, l'équivalent pour ton plugin) la même fonction, sans le _dist ...
S'il n'y a pas de _dist, alors c'est le fichier complet qu'il faut réutiliser comme tu as fait...
Si c'est la fonction trop_long_articles()... bien, c'est raté !
mais tu peux proposer de mettre cette fonction (en ajoutant _dist à son nom) dans un nouveau fichier inc/articles ou je ne sais quel nom mieux adapté et faire :
include_spip(inc/articles);
$trop_longs_articles = charger_fonction('trop_longs_articles','inc');
et à la place de l'appel de la fonction , mettre $trop_long_articles()
De cette façon, tu pourras surcharger la fonction uniquement. Mais c'est à proposer sur dev pour que ce soit intégré...
MM.