+1
−1
+53
−31
+6
−0
+33
−6
+13
−10
Chargement en cours
En synthese, 2 points importants : - on assure ainsi la coherence des notes quelle que soit la configuration des inclusion, de leur cache et la configuration de calcul - il serait possible de faire remonter les notes d'un <modele> ou d'un #INCLURE vers l'appelant lorsqu'elle ne sont pas affichee dans l'appele, en assurant la coherence que l'appele sorte du cache ou non. C'etait pour le moment impossible et donc non retenu. En detail : - le statut des notes doit etre stocke dans le cache pour permettre sa restauration meme si la page n'est pas calculee. Pour ce faire, on modifie la signature de inc_notes_dist dont l'unique argument etait deja use jusqu'a la corde en introduisant un second argument 'operation' qui par defaut vaut 'traiter'. Les autres valeurs possibles dont 'empiler', 'depiler', 'sauver_etat', 'restaurer_etat' et 'contextet_cache' Ce statut en cache peut donc etre restaure avant evaluation d'une page tiree du cache afin que les <inclure> contenus recupererent le meme etat que lors d'un calcul global. Cela fait apparaitre le statut des notes comme un element du contexte implicite du cache, au meme titre que $marqueur,$squelettes ... Plutot qu'ajouter une autre verrue dans public_cacher_dist, on fait remonter le contexte_implicite au niveau d'assembler, ou il est renseigne dans les deux points d'entreee public_assembler_dist et inclure_page via la fonction calculer_contexte_implicite(). Il est passe en argument 'contexte_implicite' de $page, qui sera pris en compte dans le calcul du nom du cache et preserve au retour de l'appel a public_cacher(). Le contexte_implicite n'est pas sauvegarde dans le cache car un nom d'un cache ne peut correspondre qu'a un contexte_implicite. Il est donc reinjecte dans $page apres sa relecture depuis le cache. Compte tenu de la stabilisation de la branche, on evite de propager le contexte_implicite au dela, mais dans le futur il serait bien de le faire remonter la chaine inclure_page, evaluer_fond, recuperer_fond pour permettre de le renseigner en amont dans l'appel a recuperer_fond ecrit dans le cache
Forge communautaire SPIP | Charte d'utilisation | Signaler un problème sur ce site