首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供ISchemaExtender的plone两个适配器

提供ISchemaExtender的plone两个适配器
EN

Stack Overflow用户
提问于 2013-12-13 22:26:58
回答 1查看 108关注 0票数 0

我试图使用两个plone加载项产品,都使用archetypes.schemaextender。

由于这两种产品都必须明确适配器提供的接口,所以它们具有

代码语言:javascript
复制
provides="archetypes.schemaextender.interfaces.ISchemaExtender"

在它们的zcml中,这会产生以下冲突:

代码语言:javascript
复制
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上完成的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-15 09:55:01

是的,你必须注册名适配器。

示例:

代码语言:javascript
复制
<include package="archetypes.schemaextender" />

<adapter factory=".factory.Factory"
     provides="archetypes.schemaextender.interfaces.ISchemaExtender"
     name="my.extender.name" />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20577101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档