Thanks, that's all beginning to make more sense.
On Oct 13, 1:32 pm, Carsten Senger <[email protected]> wrote: > Hi Derek, > > --On Mittwoch, Oktober 13, 2010 06:35:47 -0700 derek > > > > <[email protected]> wrote: > > Is it possible to override just a template for a widget, without > > creating a whole new Widget, WidgetFactory, Field and associated > > interfaces? I have whole modules full of empty classes just to get to > > a special template, which it seems I ought to be able to do with a > > <z3c:objectWidgetTemplate> directive , but no matter how I try I can't > > get no satisfaction. > > > In my zcml, I have: > > > <z3c:objectWidgetTemplate > > mode="display" > > template="templates/SpeciesList.pt" > > widget="z3c.form.interfaces.IMultiWidget" > > schema="zope.schema.interfaces.IList" > > /> > > I've not used the directive, but from the documentation "schema" is the > schema provided by the object, not the interface of the field: > > If you have: > > class ISpeciesData(...): > speciesList = schema.List(...) > > you give your.package.interfaces.ISpeciesData to the "schema=" attribute > and your template will be picked up by all MultiWidgets displayed for a > field from ISpeciesData. > > You can make the registration more specific with the other attributes > available for z3c.widgetTemplate, like "layer", "field" of "view". > "view=...IDistributionView" alone should work to overwrite the multiwidget > template for this view. > > ..Carsten > _______________________________________________ > Product-Developers mailing list > [email protected]http://lists.plone.org/mailman/listinfo/product-developers _______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
