Bonjour,
Déjà un grand bravo à tous ceux qui participent à Spip.
Etant programmeuse, j'ai eu, évidemment, l'envie de me faire quelques
fonctions et de les tester, et j'ai eu quelques problèmes avec le cache.
La version de spip que j'utilise est la 1.2
Appel de la fonction dans le squelette:
<BOUCLE_article_date(ARTICLES){id_rubrique}{par date_redac}{0,1}>
<?
BasPage("[(#DATE_REDAC|affdate)]", #ID_RUBRIQUE);
?>
</BOUCLE_article_date>
Quand je calcule la page, aucun problème.
Quand je reviens dessus, j'ai alors le message: "Fatal error: Call to
unsupported or undefined function baspage() in
CACHE/0/%2Frubrique.php3%3Fid_rubrique%3D1 on line 74"
Si je vais voir ce fichier cache, il y a (les n° de ligne sont ajoutés par
moi):
73: <?
74: BasPage("10 juillet 1999", 1);
75: ?>
Si j'ajoute la ligne "include("mes_fonctions.php3");", cela se passe
toujours bien au calcul, mais j'ai alors l'erreur du fichier
cache: "Fatal error: Call to unsupported or undefined function
generer_url_rubrique() in mes_fonctions.php3 on line 15".
J'ai donc viré tous les appels aux fonctions définies ailleurs, ce qui
d'ailleurs dans ce cas-ci était une erreur vu que j'avais déjà les infos,
et maintenant cela marche impecc.
J'ai vu entre les archives du forum, la doc sur le cache, et mes tests, que
le code php écrit dans le squelette se retrouve dans le fichier cache, d'où
bien faire gaffe à ce que celui-ci connait ou non.
Je comprend que l'on peut vouloir écrire du code qui sera exécuté à chaque
fois mais on perd une partie des gains du cache. Donc y'a-t-il un moyen
d'en écrire, en particulier quand on passe par mes_fonctions.php3, qui ne
sera pas réexécuté à chaque affichage du ficher cache ?
Merci de m'avoir suivi jusqu'ici et en espérant avoir été claire,
--
Marianne ROGER (Montpellier France)
maroger@maretmanu.org http://www.maretmanu.org/homepage/