当我试图在我的项目中包含一个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编写权限声明时,它会得到正确的处理。我尝试了几个包含包的语句。灵巧手动声明,使用zope 2.12 (使用2.13) collective.autopermission不再需要这项工作。
我能错过什么?
编辑I
我的permissions.zcml
@Martijn Pieters: Zope版本: 2.13.16
发布于 2012-10-01 08:35:30
我确实缺少了一个名称空间和AccessControl的包含。这个permissions.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>https://stackoverflow.com/questions/12660180
复制相似问题