Plone:configure.zcml

时间:2016-02-08 05:54:07

标签: python plone plone-4.x zcml

我正在为我的Plone网站开发一个新的附加组件,因此它显示我的错误

configure.zcml : unbound prefix.

这里我正在编写我的zcml代码:

    <configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    i18n_domain="customer.reports">

  <five:registerPackage package="." initialize=".initialize" />

  <include package="plone.resource" file="meta.zcml"/>
  <plone:static
      directory="templates"
      type="reports"
      name="customer"
  />
</configure>

未提及的前缀错误如下所述。

  

File&#34; /Plone/Python-2.7/lib/python2.7/xml/sax/handler.py" ;,第38行,在   致命错误           提出例外       zope.configuration.xmlconfig.ZopeXMLConfigurationError:File&#34; /Plone/zinstance/parts/instance/etc/site.zcml" ;,第16.2-16.23行           ZopeXMLConfigurationError:File&#34; /Plone/buildout-cache/eggs/Products.CMFPlone-4.3-py2.7.egg/Products/CMFPlone/configure.zcml",   第98.4-102.10行       ZopeSAXParseException:File&#34; /Plone/zinstance/src/customer.reports/customer/reports/configure.zcml",   第13.2行,未绑定前缀

2 个答案:

答案 0 :(得分:5)

您的代码未定义您在元素plone中使用的前缀plone:static。您可能需要在某处添加相应的命名空间声明,例如在configure元素中:xmlns:plone="http://namespaces.plone.org/plone"

答案 1 :(得分:5)

此错误表示您在configure.zcml顶部缺少名称空间声明。 尝试在configure标记中包含以下内容之一:

 xmlns:plone="http://namespaces.plone.org/plone"

正如我在我的代码中添加以上行以修复未绑定错误之前我使用plone注册我的附加组件但未声明正确的名称空间,即在zcml文件的名称空间声明块中的plone

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    xmlns:plone="http://namespaces.plone.org/plone"
    i18n_domain="customer.reports">

  <five:registerPackage package="." initialize=".initialize" />

  <!-- -*- extra stuff goes here -*- -->

  <include package="plone.resource" file="meta.zcml"/>
  <plone:static
      directory="templates"
      type="reports"
      name="customer"
  />
</configure>