#EXPOSER dans un squelette inclus

J'essaye sur une page d'article de mettre en évidence parmi une liste de
rubriques "soeurs" celle qui appartient à l'hierarchie de l'article courant.

Je peux le faire avec un peu de PHP dans le squelette article (vois
ci-dessous)

Mais pour éviter d'avoir du PHP dans le cache, je pensais <INCLURE...> un
autre squelette en passant {id_rubrique} et utiliser #EXPOSER dans le
squelette ainsi inclus.

Seulement, il semble - d'après mes essais - que cela ne marche pas. Est-ce
normal ?

merci,
Paolo

- - - - - code PHP que je souhaiterai, éventuellement, éviter - - -

<ul>
<BOUCLE_rubs1(HIERARCHIE){1,1}>
   <?php $currentrub="#ID_RUBRIQUE"; ?>

   <BOUCLE_rubs2(RUBRIQUES){meme_parent}>

   <?php if ($currentrub == #ID_RUBRIQUE){
   echo '<li class="current">#TITRE</li>';
   }
   else {
   echo '<li><a href="#URL_RUBRIQUE"
[title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></li>';
   }?>

  </BOUCLE_rubs2>
</BOUCLE_rubs1>
</ul>

Mais pour éviter d'avoir du PHP dans le cache, je pensais <INCLURE...> un
autre squelette en passant {id_rubrique} et utiliser #EXPOSER dans le
squelette ainsi inclus.

Seulement, il semble - d'après mes essais - que cela ne marche pas. Est-ce
normal ?

Oui, c'est normal, car #EXPOSER est calculé en fonction du contexte inclus,
et pas de ce que contient la page "incluante".

Pour mieux comprendre INCLURE(fichier.php){paramètres}, le plus simple est
de visualiser la page fichier.ph?paramtres...

-- Fil

"Fil" wrote:
Oui, c'est normal, car #EXPOSER est calculé en fonction du contexte inclus,
et pas de ce que contient la page "incluante".

Pour mieux comprendre INCLURE(fichier.php){paramètres}, le plus simple est
de visualiser la page fichier.ph?paramtres...

- - - -

Il me semble justement que je *veux* le contexte du fichier "inclus" et non
pas celui de la page incluante. Mais c'est ce dernier que je reçois, lorsque
je l'imbrique dans une page.

Dans la page, donc, j'ai :

<BOUCLE_article_principal(ARTICLES) {id_article}>
(...)
<ul>
   <BOUCLE_rubs1(HIERARCHIE){1,1}>

    <INCLURE(tmp_sectionlist.php3){id_rubrique}>

   </BOUCLE_rubs1>
   </ul>
(...)
</BOUCLE_article_principal>

- - - - - et tmp_sectionlist.html consiste en ces quelques lignes :

<BOUCLE_ref(RUBRIQUES) {id_rubrique}>
Test: #ID_RUBRIQUE
   <ul>
   <BOUCLE_rubs(RUBRIQUES){meme_parent}>

   <li><a [(#EXPOSER|id,href)]="#URL_RUBRIQUE"
class="sectionlist[(#EXPOSER|-inactive)]"
[title="(#DESCRIPTIF|textebrut|entites_html)]">#TITRE</A></li>

   </BOUCLE_rubs>
   </ul>
</BOUCLE_ref>

- - - - - alors #EXPOSER marche lorsque je fais
http://localhost/spip/tmp_sectionlist.php3?id_rubrique=10
mais non pas lorsque le squelette est inclus dans la page, même si la ligne
"Test" s'affiche bien.

N'y a-t-il pas quelque chose d'anormal ici :?

Paolo