This is the registration of the PloneCallHTMLFormatter (as far as I can see)
<adapter factory=".composer.PloneCallHTMLFormatter"
for="Products.CMFCore.interfaces.IContentish
zope.publisher.interfaces.browser.IBrowserRequest"
provides=".interfaces.IFullFormatter"
name="html" />
If I add a similar registration in an add-on product will it override that one?
<adapter factory="my.product.composer.PloneCallHTMLFormatter"
for="Products.CMFCore.interfaces.IContentish
zope.publisher.interfaces.browser.IBrowserRequest"
provides="collective.dancing.interfaces.IFullFormatter"
name="html" />
Is there anything else I need to bear in mind?
--
SplashStart - Professional Websites. Starting Now.
http://www.splashstart.com
So this is what I'm doing:
<adapter factory="collective.splashdancing.mycomposer.PloneCallHTMLFormatter"
for="Products.ATContentTypes.content.base.ATCTContent
zope.publisher.interfaces.browser.IBrowserRequest"
provides="collective.dancing.interfaces.IFullFormatter"
name="html" />
will update on how this works.
Could someone tell me why sometimes interfaces don't work when
registering an adapter with ZCML?
You can't register two adapters for exactly the same interface(s).
This way the ZCA doesn't know which one of the implementations to use
or prefer. Use overrides.zcml replace the registration of the
implementation that's in dancing.
BTW, have you checked if changing
collective.dancing.composer.plone_html_strip_not_likey in place isn't
enough?
Daniel
