2

我需要更改存储在 cookie 中的数据,或者在用户访问 Plone URL 时设置新的 cookie。

官方的 Plone 文档包含我在修改 HTTP 响应 cookie部分中所需要的内容。

不幸的是,它似乎是一个已弃用的文档,因为它需要plone.postpublicationhook包,而不是 Plone 附带的,仅适用于 Zope < 2.12;文档说:“这个包是为了向后兼容而提供的。新代码应该直接使用 Zope 2.12 中引入的发布事件。

当我使用 Plone 4.3/Zope 2.13 时,我想知道是否有办法不包含这个已弃用的包。

我正在尝试使用这些ZPublisher.interfaces事件但没有成功。

我正在尝试这样的 ZCML 注册:

  <adapter
      factory=".mymodule.my_cookie_handler_function"
      provides="ZPublisher.interfaces.IPubSuccess"
      />

但是该函数永远不会被调用。

我找到的一些示例/代码(但仍然无法达到我的范围):

4

1 回答 1

2

虽然我看到使用适配器的代码,但似乎您必须提供一个subscriber

这有效:

  <subscriber
      handler=".mymodule.my_cookie_handler_function"
      for="ZPublisher.interfaces.IPubSuccess"
      />

不确定是否IPubSuccess是“正确”的界面来使用。

于 2015-08-20T12:17:11.343 回答