使用Boost缓存页面上的块读/写数据

时间:2010-11-15 15:12:28

标签: drupal drupal-cache drupal-boost

我有一个提供块的模块。该块设置为BLOCK_NO_CACHE,其内容从函数中提取。它允许网站管理员创建一个在网站上显示的“消息”,有点像CNN,顶部显示重大更新,用户可以通过点击X关闭它。当他们关闭它时,操作被写入和UUID写入他们的cookie,因此他们不再看到该消息。

我收到来自Boost用户的报告,当有人关闭消息时,它会为所有人关闭它。我认为这是因为Boost正在缓存页面并在有人关闭邮件后提供缓存页面。

如何让我的模块适用于使用Boost的人?

我想也许hook_boot可能有用,但是,我再次确定是否有更好的方法来解决这个问题。

1 个答案:

答案 0 :(得分:1)

hook_boot不会这样做。一旦该页面在缓存中,就不会运行PHP。您需要通过AJAX加载该块,因为该块的状态取决于cookie。 http://drupal.org/project/ajaxblockshttp://drupal.org/project/ajaxify_regions 是两个很容易做到这一点的项目。

如果页面被缓存,也很难获得更新。对于清漆用户,您也会遇到类似的问题。