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.