Submitted by melimesmots on
Bonjour à tous et à toutes!
Mon problème:
Actuellement en train de faire mon site sous Drupal ( logique, ok, lol). Je réalise un site où il est possible de me demander en personne des conseils (sur du matériel informatique entre autre), mais à certaines heures uniquement.
Pour cela, j'ai besoin d'afficher que je suis en ligne ou pas. Cela s'adresse à des utilisateurs non authentifiés, via un système de paiement en ligne.
J'ai créé un bloc, servant à indiquer si je suis en ligne où hors ligne. Malheureusement, ce bloc n'est pas rechargé par l'utilisateur quand je configure le cache pour les utilisateurs anonymes. Pour expliquer plus simplement, un utilisateur dont le cache n'est pas rechargé peut me voir hors ligne alors que je suis en ligne.
Ce que j'ai essayé:
J'ai essayé plusieurs modules, mais sans résultats : block refresh, Views Auto-Refresh, Varnish. Pour les deux premiers le cache des utilisateurs authentifiés était plus fort que tout et aucun rechargement ne pouvais avoir lieu. Pour le dernier j'avais des erreurs partout et franchement je doute fort que mon problème aurait été résolu.
J'ai regardé aussi ce genre de solutions mais je n'y comprends vraiment rien:
http://flocondetoile.fr/blog/purge-selective-avec-drupal-des-pages-mises...
Il semble qu'il soit possible aussi de faire des changements sur le cache de blocs en particulier grâce à cette fonction:
hook_block_info(). Idem, je ne comprends pas où ni comment implémenter ce texte, la technique semble être décrite ici, :
https://api.drupal.org/api/drupal/modules%21block%21block.api.php/functi...
Ma question:
La question pourrait être posée de cette manière : Comment forcer un utilisateur anonyme à rafraîchir une page ( ou encore mieux, simplement un élément de page de type bloc) tout en ayant le cache des utilisateurs anonymes d'activé?
Merci de vos réponses si vous avez une idée. ;)
Bonjour,
Permalien Soumis par kovalsky le 5 Juin, 2015 - 10:33
Bonjour,
certains modules comme Block Cache Alter (https://www.drupal.org/project/blockcache_alter) vous permette de définir pour chaque block s'il doivent être mis en cache ou non.