Читать/записать данные с блоками на кэшированных страницах повышения

StackOverflow https://stackoverflow.com/questions/4185721

Вопрос

У меня есть модуль, который поставляет блок. Блок установлен в Block_no_cache, а его содержимое извлекается из функции. Он позволяет администратору сайта создавать «сообщение» для отображения на сайте, вроде как CNN, где вверху отображается обновление, и пользователь может закрыть его, нажав X. Когда они закрывают его, действие написано И Uuid написал их cookie, чтобы они больше не видели этого сообщения.

Я получаю отчеты от пользователей Boost, что, когда кто -то закрывает сообщение, оно закрывает его для всех. Я предполагаю, что это потому, что Boost кэширует страницу и обслуживает кэшированную страницу после того, как кто -то закрыл сообщение.

Как я могу заставить мой модуль работать для людей, использующих Boost?

Я думал, что, может быть, Hook_boot может сработать, но, опять же, я не уверен, есть ли лучший способ рассмотреть это.

Это было полезно?

Решение

hook_boot will not do it. Once that page is in the cache no PHP is run. You need to have that block be loaded via AJAX because the state of that block is dependent upon a cookie. http://drupal.org/project/ajaxblocks and http://drupal.org/project/ajaxify_regions are 2 projects that easily do this.

Also it would be hard to get breaking updates out if the page is cached. You will have similar issues for varnish users as well.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top