Pipeline sur les boucles
Voici une suggestion qui offre aux plugins la possibilité de surcharger les boucles.
Actuellement, si 2 plugins surchargent une boucle, on obtient au mieux une page blanche ou bien des erreurs de script.
Par exemple archive, acces_restreint, acces_groupe sont incompatibles entre eux et surchargent la boucle_ARTICLE().
Cette solution permet :
- de traiter les surcharges
- d'éxecuter la boucle dist
- d'extraire la partie du compilo qui gère les boucles vers une fonction autonome superviser_boucle()
Pour le moment la solution se base sur une variable globale à déclarer dans chacun des 'options.php'.
Structure utilisée
$GLOBALS['fnboucles']['nomboucle'][] ="prefix"; avec fnboucles pour le nom de la variable 'nomboucle' pour la boucle surchargée (articles, rubriques, ...) 'prefixe' le préfixe de la boucle de surcharge
La boucle à utiliser dans le plugin est de la forme
function prefixe_boucle_NOMBOUCLE($id_boucle, &$boucles) { }
Cette fonction ne retourne rien, c'est la fonction superviser_boucle() qui s'occupera de charger la fonction finale dist.
On pourrait utiliser des pipelines pour déterminer les noms des surcharge, plus propre que la variable globale. Je n'ai pu le faire par manque de compétence.
une idée de pipeline serait :
NomBoucle ...
et comme existe déjà, ça devrait le faire