当我尝试在我的项目中包含permissions.zcml时,在configure.zcml上使用此行
<include package="Products.CMFCore" file="permissions.zcml"
xmlns:zcml="http://namespaces.zope.org/zcml"
zcml:condition="have plone-41" />
或只是这一行
<include package="Products.CMFCore"/ >
在处理rolemap.xml时无法加载并引发错误。
当我尝试用
包含文件时<include file="permissions.zcml">
我得到了
ConfigurationError: ('Unknown directive', u'http://namespace.zope.org/zope', u'permission')
但是当我在configure.zcml中编写权限声明时,它会得到正确处理。我尝试了几个include package语句。灵巧手册指出,使用zope 2.12(使用2.13),此工作不再需要collective.autopermission。
我能错过什么?
编辑我
@Martijn Pieters:Zope版本是:2.13.16
答案 0 :(得分:0)
我确实错过了一个名称空间和AccessControl的包含。这权限.zcml 做到了。
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:meta="http://namespaces.zope.org/meta"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="dotted.name">
<includeDependencies package="." />
<include package="AccessControl" file="meta.zcml" />
<include package="Products.CMFCore" file="permissions.zcml"/>
</configure>