Martin Aspeli wrote:
Hedley Roos wrote:
If you really need to extend a particular extender, I would subclass it,
and then register an override utility (i.e. with the same name). If you want more control, you should make a new content type.

Martin


Yes! That is exactly what I'm doing. After struggling with all the permutations I don't think there is another way.

I don't think it's a bad way, though. :)

Martin



To summarize:

Adapter order with classes that implement ISchemaExtender are not an issue. The field declarations are additive. The only possible issue is when redeclaring a field. AFAIK the last applied declaration should win.

With classes that implement IOrderableSchemaExtender adapter order is an issue since you are bound to run into problems with the getOrder method. I create an orderable extender and place it in overrides.zcml with the same name(s) as adapters it is supposed to override. This extender does not have to subclass the extenders it intends to override - you can simply concatenate the fields. One catch: the extenders that you override *must* implement IOrderableSchemaExtender else the overrides will not take effect.

Hedley

_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to