Configurer un plugin non activé
bazooka07
PluXml Lead Developer, Moderator
Bonjour,
J'ai installé un plugin sur mon serveur.
Mais avant de l'activer, je voudrais voir son panneau de config et éventuellement enregistrer son paramétrage.
Le problème est que le panneau de config a besoin d'une feuille de style sophistiquée car la mise en page est complexe et qu'il a besoin de quelques fonctions javascript propres à lui.
Quand le plugin est actif, pas de souci ! $plxAdmin l'a enregistré et un appel du hook AdminTopEndHead dans top.php fait le job.
Par contre, si le plugin est inactif, $plxAdmin ne le connait et donc le hook n'est jamais appelé.
Peut-on charger un plugin inactif dans $plxAdmin pour déclencher ce hook au moment adéquat ?
Sinon je ne vois qu'une solution complexe : en javascript attendre la fin de chargement de la page et charger alors la feuille de style et les fonctions javascript. Cela m'ennuie car je suis obligé d'ajouter du code qui ne sera utilisé que quand le plugin est inactif (pas trop productif et risque de bug en sus).
Dans l'idéal, il faudrait que top.php détecte la présence de $plxPlugin créé dans parametres_plugin.php et traite ses hooks.
Je n'ai encore terminé le plugin mais pour voir plus concrétement le problème je l'ai déjà mis sur le net ici :
Télécharger le plugin
Ce plugin est une extension du plugin tinyMCE qui doit permettre un réglage fin selon les profils utilisateurs.
A installer sur un site de test pour l'instant.
J'ai installé un plugin sur mon serveur.
Mais avant de l'activer, je voudrais voir son panneau de config et éventuellement enregistrer son paramétrage.
Le problème est que le panneau de config a besoin d'une feuille de style sophistiquée car la mise en page est complexe et qu'il a besoin de quelques fonctions javascript propres à lui.
Quand le plugin est actif, pas de souci ! $plxAdmin l'a enregistré et un appel du hook AdminTopEndHead dans top.php fait le job.
Par contre, si le plugin est inactif, $plxAdmin ne le connait et donc le hook n'est jamais appelé.
Peut-on charger un plugin inactif dans $plxAdmin pour déclencher ce hook au moment adéquat ?
Sinon je ne vois qu'une solution complexe : en javascript attendre la fin de chargement de la page et charger alors la feuille de style et les fonctions javascript. Cela m'ennuie car je suis obligé d'ajouter du code qui ne sera utilisé que quand le plugin est inactif (pas trop productif et risque de bug en sus).
Dans l'idéal, il faudrait que top.php détecte la présence de $plxPlugin créé dans parametres_plugin.php et traite ses hooks.
Je n'ai encore terminé le plugin mais pour voir plus concrétement le problème je l'ai déjà mis sur le net ici :
Télécharger le plugin
Ce plugin est une extension du plugin tinyMCE qui doit permettre un réglage fin selon les profils utilisateurs.
A installer sur un site de test pour l'instant.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est une ancienne version d'un plugin que j'installe sur un dernier PluXml et j'ai un beau "Activez le plugin et bénéficiez de toutes ces capacités !"
J'avais prévu le coup auparavant mais alors pour savoir comment j'ai fait ça ...
Moi, j'ai mieux
Mais ce n'est pas ça mon problème.
C'est mon panneau de config qui ne s'affiche pas comme il devrait parce que la feuille d'un plugin inactif n'est pas chargée faute de ne pas avoir appelé ses hooks.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Voici au final la solution que j'ai trouvé. Elle est appliquée à mon plugin tinyMCE - version 1.2 :
Dans config.php, faire après avoir testé $_POST pour sauvegarder les données du formulaire :
init_aProfils est une fonction qui initialise certaines propriétés du plugin.
Cas typique : le nom des profils d'utilisateurs :
Lorsque le plugin est actif, loadlangs n'est pas encore appelé pour charger les traductions.
Par contre, si le plugin est inactif, loadlangs est déjà appelé lorsque le plugin est instancié.
$plugin contient le nom du plugin
$plxPlugin contient l'instance du plugin dans tous les cas
Ces 2 variables sont créées par parametres_plugin.php.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2