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

Reply via email to