Bonjour,
Je suis actuellement en train de développer quelques plugins pour me faire la main.
Dans l'un d'entre eux, j'ai un système de messagerie avec formulaires etc.
Mon problème est le suivant: j'ai créé un formulaire "marquer comme lu" qui lorsque l'on clique dessus positionne un flage en base se donnée sur le message, et redirige vers une page qui l'affiche. Jusque la, tout va bien.
Par contre, la ou cela ne va pas, c'est quand on revient à la boite de réception: malgré un cache à 0, j'ai visiblement un souci.
Un message fraichement lu n'est affiché comme tel qu'après un rafraichissement de cette page ( il faut donc revenir à la boite de réception, et la rafraichir pour être à jour ).
Ce que je décris est ce que je constate généralement. Ceci dit, quand un délai important s'écoule entre la lecture du message, et le retour sur la boite, elle semble apparaitre directement à jour. J'avoue donc que je m'y perds un peu ...
J'ai cherché de la documentation sur l'invalidateur du cache de spip et n'en ai trouve que peu. Visiblement la série 1.X.X utilisait la base de donnée et on pouvait invalider tel ou tel cache selon des critères donnés ( id objet etc ). En me balladant dans inc/invalidateur, j'ai constaté que cela ne semblait pas se passer comme ça pour la 2.X.X.
Si j'ai bien compris, cette version se base sur un cache sans base basé uniquement sur les dates. Et l'invalidateur se contente de renseigner une méta qui rend obsolète tout ce qui lui est antérieur dans le cache.
J'ai bien tenté de confirmer cela en appelant "suivre_invalideur()" dans mon plugin, mais cela ne semble pas avoir corrigé le souci ...
Du coup si certains d'entre vous ont des infos/ des pistes, je suis bien preneur ...
Merci !
Vincent