我试图使用两个plone加载项产品,都使用archetypes.schemaextender。
由于这两种产品都必须明确适配器提供的接口,所以它们具有
provides="archetypes.schemaextender.interfaces.ISchemaExtender"在它们的zcml中,这会产生以下冲突:
raise ConfigurationConflictError(conflicts)
zope.configuration.config.ConfigurationConflictError: Conflicting configuration actions
For: ('adapter', (<InterfaceClass Products.ATContentTypes.interfaces.document.IATDocument>,), <InterfaceClass archetypes.schemaextender.interfaces.ISchemaExtender>, '')
File "/usr/local/Plone4/zeocluster/src/collective.guestbookcomments/collective/guestbookcomments/configure.zcml", line 14.2-15.69
<adapter factory=".guestbookcomments.PageExtender"
provides="archetypes.schemaextender.interfaces.ISchemaExtender"/>
File "/usr/local/Plone4/zeocluster/src/kuehnel.naturfreundeskreis/kuehnel/naturfreundeskreis/configure.zcml", line 54.2-55.69
<adapter factory=".topimagefield.PageExtender"
provides="archetypes.schemaextender.interfaces.ISchemaExtender"/>两种产品可以通过archetypes.schemaextender扩展文档吗?
这是通过统一安装程序在Plone 4.3.2上完成的。
发布于 2013-12-15 09:55:01
是的,你必须注册名适配器。
示例:
<include package="archetypes.schemaextender" />
<adapter factory=".factory.Factory"
provides="archetypes.schemaextender.interfaces.ISchemaExtender"
name="my.extender.name" />https://stackoverflow.com/questions/20577101
复制相似问题