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

problème de variable #SESSION entre fichier parent enfant

Bonjour,

SPIP 3.2.7 | Sarka-SPIP 3.4.8

Je n’arrive pas à comprendre le comportement de SPIP dans ce contexte :
 J’ai écrit une surcharge des squelettes de génération des menus de sarkaspip
 Du coup j’avais besoin d’une variable entre le fichier appelant "inc_menu_rubriques_1h.html" et le fichier appelé "inc_nav_rubrique_lien.html"
 j’ai donc rajouté une variable avec [(#SESSION_SET {check_ss_menu, 0 })] que j’initialise au début de "inc_menu_rubriques_1h.html"
 Si besoin je met à jour la variable ’check_ss_menu’ dans le fichier appelé et je la vérifie au retour dans le fichier appelant (cela me permet de fermer une balise DIV)
 Ceci fonctionne parfaitement après un recalcul complet du cache ou un calcul de la page.
 Par contre ça part en sucette dès que je change de page !!!
 En fait, dans ce cas la variable ’check_ss_menu’ est bien mise à jour (-> 1) dans le fichier appelé, mais au retour dans le fichier appelant elle est à sa valeur initiale (0) ???! comme si cette variable ne faisait pas partie de la même session alors que pour ce que j’en ai compris elle est normalement stockée dans la variable $GLOBAL du PHP ?
 Si je rafraichi la page après avoir ajouté var_mode=calcul dans l’adresse, le menu est de nouveau calculé et affiché correctement ...

Pourtant c’est bien le même fichier du cache qui est utilisé la première fois juste après le calcul du cache et les fois suivantes lors d’un changement de page (sans recalcul), alors pourquoi le comportement et le résultat ne sont pas identique ?

Merci d’éclairer ma lanterne, parce que là je nage dans le brouillard ...

Cordialement

Thierry