Améliorer ou remplacer affichage_final pour avoir un contexte déjà prêt pour les squelettes racines
Contexte, si j'ose dire : recuperer_fond
c'est super, ya plein d'infos, mais ça ne fonctionne que pour les inclusions, si je ne m'abuse (information manquante/trompeuse dans la doc, à corriger au passage).
affichage_final
est donc le seul moyen pour la page entière, pour les "squelettes racines", sauf qu'il n'y a rigoureusement aucune info, aucun "args". Alors que pourtant, à ce moment là, on est déjà passé par assembler
et on est censé avoir déjà compilé toutes les infos possibles (est-ce que c'est une page= ou un objet éditorial, lequel, quel id ou quelle page, etc).
Si on veut ajouter des choses dans la page, dans le header ou autre, par ex des styles CSS, mais que possiblement ça puisse être différent suivant les pages/contenus, il faut des informations de contexte (et faut pas que ce soit mis dans un cache unique).
Comment faire au mieux du coup pour savoir "où on est", sans que ce soit chacun qui fait sa ptite méthode dans son coin + sans dupliquer du code + sans devoir refaire des calculs compliqués alors qu'on est "à chaque hit" dans cet affichage final, et qu'il faut être le moins couteux possible ?
Je vois trois grandes pistes (dont je ne sais pas trop évaluer la facilité, n'y connaissant pas grand chose en compilateur) :
- qu'il n'y ait plus de distinction et que les squelettes racines passent aussi par
recuperer_fond
,- soit en rangeant au mieux ce qu'il y a dans public.php et en pouvant appeler la fonction à la fin,
- soit en laissant encore en bordel hors fonction mais en réussissant à appeler aussi le pipeline à la fin avec les bonnes informations dedans. D'ailleurs au tout début du fichier il y a toujours cette phrase d'il y a 13 ans : "(cette distinction est obsolete a present, on la garde provisoirement par souci de compatiilite)" mais pourtant c'est toujours séparé. C'est peut-être le plus compliqué, mais le plus "propre" à terme si on peut y arriver ?
- ajouter un nouveau pipeline du même genre que
affichage_final
, au même endroit MAIS un pipeline argumenté (affichage_final_contexte
ou que sais-je) avec toutes les infos de contexte déjà sous la main, donc comme ça ya pas à refaire de recherches, de calculs, etc pour tenter chacun dans son coin - garder
affichage_final
mais que SPIP fournisse de base une fonction récupérant le max d'infos de contexte, à partir de$GLOBALS['page']
et autres merdouilles dans le genre, et que du coup quand on s'inscrit ici, on puisse l'appeler et avoir ces infos sous la main de manière "officielle", avec ce qui est considéré comme le plus vrai, le mieux calculé, par celleux qui connaissent. Ça me parait le moins propre, obligé d'utiliser que des globales moches, alors que dans public.php et assembler.php on a moult infos déjà calculées, on les a sous la main, et donc on devrait être capable des les fournir dès l'appel du pipeline (sauf que forcément dans ce cas faut changer de nom pour un nouveau car on peut pas péter l'existant en rajoutant args/data)
Est-ce des gens qui connaissent peuvent aiguiller sur ce qui serait le plus propre à faire ?