代码之家  ›  专栏  ›  技术社区  ›  Kevin

在boost缓存页上读取/写入数据块

  •  0
  • Kevin  · 技术社区  · 13 年前

    我有一个模块提供一个模块。块被设置为block_no_cache,其内容从函数中提取。它允许网站管理员创建一个“消息”来显示在网站上,类似于CNN,其中一个突破性的更新显示在顶部,用户可以通过点击X来关闭它。当他们关闭它时,操作被写入,UUID被写入他们的cookie,这样他们就不会再看到该消息。

    我从Boost用户那里得到报告,当有人关闭一条消息时,它会关闭所有人的消息。我认为这是因为Boost正在缓存页面,并在关闭消息后为缓存的页面提供服务。

    如何让我的模块为使用Boost的人工作?

    我以为Hook-boot可能有用,但我又不确定是否有更好的方法来解决这个问题。

    1 回复  |  直到 12 年前
        1
  •  1
  •   mikeytown2    13 年前

    钩子套不起作用。一旦该页在缓存中,就不会运行PHP。您需要通过Ajax加载该块,因为该块的状态依赖于cookie。 http://drupal.org/project/ajaxblocks http://drupal.org/project/ajaxify_regions 是两个容易做到这一点的项目。

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

    推荐文章