Gestion du cache de SPIP

Bonjour,

Je vais essayer d'être clair...

Mes fichiers article.php3 et forum.php3 ont tout deux $delais = 24*3600
mes_fonctions.php3 contient la fonction "pagination" qui définit deux variables
globales $numeropage (qui vaut le numéro de la page affichée) et $nombrepage
(qui vaut le nombre total de pages de l'article)

Dans mon squelette d'articles, après la boucle ARTICLES qui insère le #TEXTE de
mes articles, j'appelle le squelette des forums avec:

<INCLURE(forum.php3){id_article}>

Mais voilà, pour les articles découpés en plusieurs pages, je souhaite que le
forum ne s'affiche que sur la dernière page (c'est la première condition du
if). Et pour les articles qui ne sont pas découpés j'affiche le forum en fin
d'article (c'est la deuxième condition du if). J'ai donc ajouté:

<?php
if ($numeropage==$nombrepage || $nombrepages==1){
?>
<INCLURE(forum.php3){id_article}>
<?php
}
?>

Et tout fonctionne nickel...sauf que je me suis rendu compte de ceci:

Je commence par vider le cache de SPIP et celui de firefox. Puis j'affiche un
article paginé. Pas de problème: le forum n'est visible que sur la dernière
page. Et chaque fois que j'affiche cet article c'est la même chose.
Ensuite, je vide le cache de Firefox. J'affiche à nouveau l'article, et là... le
forum est visible sur la première page !

Or, si j'ai bien compris, lors du premier accès à l'article (avant que je vide
le cache de firefox pour la seconde fois) SPIP a mis l'article en cache. Donc,
par la suite, que le cache de Firefox ait été vidé ou non, lorsqu'on demande
l'article, SPIP vérifie combien de temps s'est écoulé depuis le dernier accès
et tant que ce temps est inférieur à 24*3600, SPIP sert le fichier en cache.
Doncje ne devrait pas avoir le forum sur la première page.

J'ai encore raté quelque chose ?

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

En relisant attentivement l'article de spip-contrib à propos de la préséance
entre boucles SPIP et PHP, j'en déduis que le problème vient de là.

Et que lorsque $delais vaut plus que 0 alors c'est simplement la date du
résultat des boucles SPIP en cache qui est vérifiée.
C'est bien ça ?

Si c'est ça, y a t-il un moyen de contouner cela dans mon cas ?

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

pascal@linuxorable.net wrote:

En relisant attentivement l'article de spip-contrib à propos de la préséance
entre boucles SPIP et PHP, j'en déduis que le problème vient de là.

Et que lorsque $delais vaut plus que 0 alors c'est simplement la date du
résultat des boucles SPIP en cache qui est vérifiée.
C'est bien ça ?

Si c'est ça, y a t-il un moyen de contouner cela dans mon cas ?

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

Lit l'article ici:
http://www.spip-contrib.net/spikini/LaGestionDuCache

il y a un fichier cache différent par combinaison de variable d'url différentes.

et là, tu as toujours les mm variables d'url, même si les globables changent.

Pierre