我有一个传统产品BaseProduct
的Plone站点(直接在Zope安装的Products
文件系统目录中版本化);其余的设置是基于buildout
。
对于项目的一个分支,我需要另一个产品AdditionalProduct
,我用同样的方式(我知道它不是当前最先进的方法;但是那个'以前它是如何起作用的......)。
现在我 能够使用quickinstaller安装AdditionalProduct
(现在它只包含一个只有一个模板的皮肤目录,但当然会改变)。
pdb.set_trace()
,并且error.log中也没有错误。
profiles.zcml
文件如下所示:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="BaseProduct">
<include package="Products.GenericSetup" file="meta.zcml" />
<genericsetup:registerProfile
name="default"
title="AdditionalProduct"
directory="profiles/default"
description="Extension profile for AdditionalProduct."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
</configure>
(从另一个前一个AdditionalProduct
复制并更改;我不太了解"meta.zcml"
部分。)
我该如何调试?
我愿意&#34;蛋化&#34;我的产品(AdditionalProduct
首先,因为它有问题;也许BaseProduct
以后也是如此),但我不确定工作量,并且操作方法会有用。 ..
答案 0 :(得分:3)
您可以通过排除以下内容来调试此问题:
'z3c.autoinclude.plugin': 'target = plone'
入口点(不适用,因为您没有使用Python包)__init__.py
。此外,您可能不需要以下内容,因为在您的产品加载之前,Plone应该已经包含这些内容:
<include package="Products.GenericSetup" file="meta.zcml" />
(file='meta.zcml'
表示“加载meta.zcml而不是默认文件名,即configure.zcml”)
最后,我建议创建一个Python包(AKA“eggify”)。请参阅以下内容以获取概述:
答案 1 :(得分:3)
您的产品应该有一个configure.zcml
文件,其中包含profiles.zcml
以及以下指令:
<include file="profiles.zcml" />
是这样的吗?