Comment rendre compatible les anciens plugins avec PluXml 5.2

Written by Stephane no comments
Les plugins existent dans PluXml depuis la version 5.1. Le code du moteur de gestion des plugins a été simplifié avec la version 5.2 pour être plus performant et consommer moins de mémoire. Cette évolution peut donc avoir un impact sur certains plugins développés avant PluXml 5.2. Tous ne sont pas forcément concernés. Pour rendre compatible un ancien plugin, la modification est simple et facilement identifiable.

De façon générale, il faut remplacer
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]["instance"]
par
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]
L'objet plxPlugins utilisé dans la classe plxMotor (fichiers core/lib/class.plx.plugins.php et core/lib/class.plx.motor.php) a été simplifié en supprimant la dimension "instance" du tableau aPlugins. Ainsi, pour faire référence à l'instance d'un plugin et appeler une de ses méthodes, on remplacera par exemple:
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]["instance"]->lang("L_PAGE_TITLE");
par
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]->lang("L_PAGE_TITLE");
Cette nouvelle syntaxe offre une meilleure lisibilité dans la compréhension du code des plugins.

Pour résumer et faire simple, il faut donc supprimer ["instance"] dans le code des plugins qui ne fonctionneraient pas.

Comments are closed.

Rss feed of the article's comments

Fatal error : type : 2 message : Trying to access array offset on value of type null file : core/lib/class.plx.motor.php line : 745 See https://www.php.net/manual/en/errorfunc.constants.php about type of error ============================================================ Drop this plugin now for running PluXml and report to its author !!