在我使用以下命令创建新产品之后,我创建了新的plone站点
../bin/zopeskel plone_basic dummy.work
Run Code Online (Sandbox Code Playgroud)
我在../dummy.work/src/dummy/work下创建了浏览器文件夹.然后我在configure.zcml文件中配置了浏览器文件夹,如下所示.
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:plone="http://namespaces.plone.org/plone"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="dummy.work">
<five:registerPackage package="." initialize=".initialize" />
<plone:static
directory="browser"
type="work"
name="dummy.work"
/>
<genericsetup:registerProfile
name="default"
title="dummy.work"
directory="profiles/default"
description="Installs the dummy.work package"
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
<include package=".browser" />
</configure>
Run Code Online (Sandbox Code Playgroud)
当我尝试创建一个实例时,我得到的错误就像
ConfigurationError: ('Unknown directive', u'http://namespaces.plone.org/plone', u'static')
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题
要使用该plone:static指令,您必须包含meta.zcml.
它包含在https://pypi.python.org/pypi/plone.resource/的软件包文档中.
You must do <include package="plone.resource" file="meta.zcml"/> before you can use the plone:static directive.
Run Code Online (Sandbox Code Playgroud)
所以:<include package="plone.resource" file="meta.zcml"/>在使用之前添加行plone:static.