2013-12-13 37 views
0

我試圖使用兩個使用archetypes.schemaextender的plone插件產品。plone提供ISchemaExtender的兩個適配器

由於這兩種產品都必須明確在哪個接口適配器提供,他們有

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

回答

3

是的,你必須註冊一個名爲適配器。

例子:

<include package="archetypes.schemaextender" /> 

<adapter factory=".factory.Factory" 
    provides="archetypes.schemaextender.interfaces.ISchemaExtender" 
    name="my.extender.name" /> 
+0

謝謝!這是我需要的提示... – Torsten

相關問題