如何声明仅为一个plone站点启用的订阅服务器?
在Plone实例中,我有两个Plone站点。 在其中一个项目中,我有一个专门的产品 我想在该产品中为如何声明仅为一个plone站点启用的订阅服务器?,plone,Plone,在Plone实例中,我有两个Plone站点。 在其中一个项目中,我有一个专门的产品 我想在该产品中为Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent声明一个订阅者,该订阅者将仅为此plone站点触发 我尝试过使用zcml:condition=“installed my.product”,但它只测试是否可以导入,因此订户也可用于其他plone站点 将第二个plone站点移动到另一个实例不是一个选项 谢谢。在
Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent
声明一个订阅者,该订阅者将仅为此plone站点触发
我尝试过使用zcml:condition=“installed my.product”
,但它只测试是否可以导入,因此订户也可用于其他plone站点
将第二个plone站点移动到另一个实例不是一个选项
谢谢。在plone中,您有了 由于您可以通过通用设置安装browserlayer,因此您可以在每个plone站点上激活/停用它 我将在订阅服务器中实现一个条件,检查是否安装了browserlayer 注: Browserlayers应用于
请求
,带有一个before-travel钩子
订阅服务器的功能示例:
从my.package.interfaces导入IMyPackageLayer
def my_功能(obj,事件):
如果IMyPackageLayer.providedBy(对象请求):
#做点什么
其他:
#无所事事
您可以通过以下方式在包中注册/创建浏览器层:
从zope.interface导入接口
类IMyPackageLayer(接口):
“”“特定于我的包的层
"""
browserlayer.xml