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

Squelette à menus multiples et cache

Bonjour,

Je cherche à fabriquer un site comportant deux "branches" (mais qui ne sont pas des rubriques). Le visiteur, en cliquant sur un bouton, sélectionne "site 1" ou "site 2". Je déclare alors une variable de session, type_site, qui prend la valeur site_1 ou site_2. Plus précisément, le bouton appelle un squelette sommaire_1 ou sommaire_2, qui contient (pour le site 1) :

[(#SESSION_SET{type_site, site_1})]
<INCLURE{fond=sommaire}>

Un groupe de deux mot-clés, menu_site_1 et menu_site_2, est défini dans l’interface privée et un utilisateur peut choisir si une rubrique appartient au site 1 ou au site 2 (ou bien les deux).

Le squelette "sommaire.html" est lui de la forme

[(#SESSION{type_site}|non)
html de l'accueil global]

[(#SESSION{type_site}|oui)
<INCLURE{fond = inclusions/sommaire_specifique}>
]

Le fichier sommaire_spécifique.html, pour fabriquer la barre de menu, contient lui

[(#SESSION{type_site}|=={site_1}|oui)
  #SET{mot_cle, menu_site_1}
]
[(#SESSION{type_site}|=={secondaire}|oui)
  #SET{mot_cle, menu_site_2}
]

puis une boucle listant les titres des rubriques comportant le mot clé site_1 ou site_2 selon le cas :

<BOUCLE_rubriques(RUBRIQUES){titre_mot = #GET{mot_cle}}>
  <li><a href="#">#TITRE</a></li>
</BOUCLE_rubriques>

Tout ça marche très bien... si je désactive le cache. Avec le cache par contre, le visiteur obtient toujours la même page. Elle ne devient correcte que si l’on force l’évaluation. Et je ne suis pas assez averti des questions de gestion du cache pour m’en sortir... Je ne vois pas pourquoi ça marche moins bien que, par exemple, lorsqu’on change d’utilisateur.

Bravo si vous avez suivi, et merci s’avance pour votre aide éventuelle !

PS : j’utilise la version 3.1.4 de SPIP.