2
Indiquez l’intérêt que vous portez à cette question
0

Changement d’ordre évaluation PHP depuis la 1.9

Bonjour,

Je reprends un site fait en 1.9.1 pour le faire monter de version.
Le site est construit de la façon suivante :

 un template "pageX" pour chaque catégorie de page du site
 Chaque template "pageX" fait appel à des templates "TOP" et "BOTTOM"

Chaque template a des parties parties écrites en PHP (et là vous allez tous me dire que "c’est mal", mais je n’y suis pour rien) définissant des variables avant inclusion du "TOP", variables qui sont utilisées par la suite dans le "TOP". Voire même des variables étant manipulées dans le TOP et puis réutilisées dans le "BOTTOM".

Tout ce petit monde fonctionne très bien sous la 1.9.1 car le PHP des pages incluantes était évalué avant l’inclusion (ce n’est peut-être pas optimisé mais cela a le mérite de fonctionner parfaitement).

Suite au passage en 2.1.29, je me retrouve donc avec un site inutilisable car il semble que le PHP est maintenant évalué après les directives SPIP.

Pour du contenu statique, pas de problème, je vois bien que je peux faire une succession de #SET #GET dans le squelette appelant et #ENV pour le squelette appelé, mais dès qu’il s’agit de variable dynamique, je suis coincé.

Je n’ai pas trouvé sur les forums une réponse à ce problème spécifique, je ne dois pourtant pas être le seul à avoir rencontré ce souci ; je dois mal chercher ...

Le site étant conséquent, avec beaucoup de squelettes et pas mal de code PHP, je n’ai pas la possibilité de tout réécrire en repartant de 0.

Savez-vous s’il existe une astuce pour pouvoir passer des variables PHP et les modifier au fur et à mesure de l’inclusion des squelettes ou bien si la rupture est franche et si le changement de comportement choisi par l’équipe de dev de SPIP m’oblige à mettre le site existant à la poubelle ?

D’avance merci,
Eric