Plop,
Je suis encore confronté à un défaut lié à l'ordre de chargement des
plugins et il s'avère qu'il serait intéressant d'avoir une boucle
supplémentaire, une fois celle qui appelle _prepend.php +
_admin.php/_public.php effectuée.
En effet certains traitements n'ont de sens qu'une fois tous les plugins
chargés. Par exemple les boutons qui s'invitent sur la barre d'outil d'un
éditeur ne doivent être initialisés qu'une fois que cet éditeur (lui aussi
un plugin depuis la 2.7) chargé et initialisé.
Utiliser la priorité (dans le _define.php) peut aider dans certains cas,
mais je suis en ce moment confronté à un cas où il faut, dans un plugin,
que je passe avant (définition d'une macro wiki) ET après (init d'un
bouton) un autre plugin (éditeur). Du coup ce n'est pas applicable.
Du coup une nouvelle boucle qui appellerait cette fois le _append.php (s'il
existe) de chaque plugin, construit de la même manière qu'un _prepend.php :
<?php
if (!defined('DC_RC_PATH')) { return; }
// public code
…
if (!defined('DC_CONTEXT_ADMIN')) { return false; }
// admin code
…
serait une solution.
Z'en dites les gens ?
--
Franck