C'est à confirmer car je connais mal tout le processus de calcul des squelettes et de mise en cache mais :
Un faisant une fonction pour le pipeline recuperer_fond qui fait print_r($flux), j'obtiens un tableau pour chacun des squelettes inclus dans la page mais pas pour la page principale. A priori, en regardant ecrire/public.php, on n'appelle pas la fonction recuperer_fond pour le squelette principale (celui correspondant au paramètre page de l'URL).
Ensuite, en faisant une fonction recuperer_fond qui remplace le contenu de $flux['data']['texte'] par autre chose, je retrouve dans le cache un fichier contenant $flux['data']['texte'] avant modification par le pipeline mais pas $flux['data']['texte'] après modification par le pipeline, ce qui suggère que la mise en cache du squelette doit être effectuée avant appel au pipeline recuperer_fond.
Il manque donc un pipeline qui permettrait de récupérer et de modifier le calcul d'un squelette (qu'il soit appelé directement ou via recuperer_fond) avant sa mise en cache.
Quelques précisions :
- Le pipeline recuperer_fond n'est pas appelé pour le squelette
principal de la page
- Les modifs apportées au pipeline recuperer_fond ne sont pas mises en
cache.
C'est "bien", ça ?
JL
Je renvoie sur spip-dev.
C'est à confirmer car je connais mal tout le processus de calcul des
squelettes et de mise en cache mais :
Un faisant une fonction pour le pipeline recuperer_fond qui fait
print_r($flux), j'obtiens un tableau pour chacun des squelettes inclus
dans la page mais pas pour la page principale. A priori, en regardant
ecrire/public.php, on n'appelle pas la fonction recuperer_fond pour le
squelette principale (celui correspondant au paramètre page de l'URL).
Ensuite, en faisant une fonction recuperer_fond qui remplace le contenu
de $flux['data']['texte'] par autre chose, je retrouve dans le cache un
fichier contenant $flux['data']['texte'] avant modification par le
pipeline mais pas $flux['data']['texte'] après modification par le
pipeline, ce qui suggère que la mise en cache du squelette doit être
effectuée avant appel au pipeline recuperer_fond.
Il manque donc un pipeline qui permettrait de récupérer et de modifier
le calcul d'un squelette (qu'il soit appelé directement ou via
recuperer_fond) avant sa mise en cache.
Et au passage aussi, recuperer_fond renvoie un résultat différent selon qu'il est appelé par la racine du site (le public) ou par un exec du privé (les chemins relatif sont différents).
Or des fois, on peut avoir besoin depuis un script en cron par exemple de récupérer un fond comme si on était dans le public (envois de mail généré par un squelette)...