THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

j'essaie de comprendre le fonctionnement du cache sous Thelia 2.4

{cache key="my-cache" ttl=600}
    ... HTML or Smarty code ...
{/cache}

je voudrais vider le cache sur certaine page après une mise à jour

dans layout.tpl je crée ma variable

{assign var=zerocache value={$smarty.get.zerocache|default:1}}

dans les differentes pages ou j'ai un cache

{cache key="my-cache" ttl={86000*zerocache}}
    ... HTML or Smarty code ...
{/cache}

je passe zerocache = 0   en appelant ma page http://domaine/ma page?zerocache=0
est que cela suffit pour que le cache du block concerné soit remis à zéro ?

Merci

Last edited by Louis (16-10-2020 10:03:01)

Offline


Si tu es en mode développement, il n'y a pas de mise en cache.

Si le ttl est inférieur à 1, le cache est ignoré. Pas clear, mais ignoré, attention à la nuance. Si tu as caché précédemment un bloc, le fait de mettre un ttl à 0 ne clear pas le cache. Il ignore juste le cache, cf. https://github.com/thelia/thelia/blob/a … he.php#L74


OpenStudio Toulouse

Offline


Merci ROADSTER31

Je souhaite lors d'une mise a jour pouvoir rafraichir seulement le bloc concerné.
Si je comprends bien, il n'est pas possible de vider un cache spécifique

Offline


je voudrais vider le cache sur certaine page après une mise à jour

C'est quoi la mise à jour en question ? Tu pourrais ajouter un paramètre qui dépend de cette mise à jour, car les arguments additionnels sont utilisés pour générer la clef du cache (cf; http://doc.thelia.net/en/documentation/ … arguments) genre :

{cache key="my-cache" ttl=600 id_maj=$identifiant_unique }

Donc pour chaque mise à jour, tu génèrerai une nouvelle clef, ce qui aurait le même effet que de vider le cache.


OpenStudio Toulouse

Offline


c'est une page de téléchargement qui regroupe tous les documents liés à chaque produit.
Je l'ai divisé en plusieurs blocs (catégories) . Je fais un cache pour chaque bloc.
Merci pour l'idée, je vais rajouter un paramètre un argument version par bloc
Ainsi en mettant le ttl à zéro, je vérifie la mise à jour. Si ok je change la valeur de l'argument version. Le cache du bloc changera.

Offline

Offline


J'essaie avec ton module TAG

{loop type="tags" name="get_version_category" tag="cache-version" tag_match_mode="partial" source="category" source_id="2"}
<!-- {$TAG} -->
{/loop}

j'ai bien dans configure : Tags- .....
CATEGORIES
Tag                                 ID                 Title
cache-version-1              2                  Produits Obsolètes

la boucle ne trouve rien
je ne pense pas faire d'erreur ???

edit:
grrr j'avais oublié le s   à tag  type="tags"

Last edited by Louis (19-10-2020 12:48:32)