如何以编程方式注册浏览器层

时间:2015-05-21 12:47:42

标签: plone genericsetup

我知道可以使用GenericSetup和一个XML文件注册浏览器层,但我需要以编程方式进行注册。

这可能吗?

1 个答案:

答案 0 :(得分:7)

你走了:

>>> from plone.browserlayer.tests.interfaces import IMyProductLayer
>>> from plone.browserlayer import utils
>>> IMyProductLayer in utils.registered_layers()
False

>>> utils.register_layer(IMyProductLayer, name='my.product')
>>> IMyProductLayer in utils.registered_layers()
True

https://github.com/plone/plone.browserlayer/blob/master/plone/browserlayer/README.rst

复制

如果您只想在测试请求中显示浏览器图层,则可以使用ZCA并直接为测试请求提供浏览器图层界面:

from zope.interface import directlyProvides
from my.product.interfaces import IMyProductBrowserLayer
directlyProvides(self.request, IMyProductBrowserLayer)