[Zope3-Users] Re: ZCML directives/InterfaceField?
Philipp von Weitershausen
philipp at weitershausen.de
Sun Sep 2 07:08:57 EDT 2007
Andreas Jung wrote:
> I need to write a custom ZCML directive that takes a list of interfaces
> - something like
>
> interfaces="Products.Foo.intefaces.IXXX,
> Products.Foo.interfaces.IYYY,..."
We usually do it without the comma, just separated by whitespace.
> What is the recommended way to specify 'interfaces' within the schema
> definition (as InterfaceField or as TextLine)?
>
> InterfaceField did not work out-of-the-box complaining about a missing
> fromUnicode attribute.
>
> With a TextLine: what is the recommended way to get hold of the interface
> represented by a string? Is there some magic available somewhere in Zope 3?
You won't ever have to resolve an interface name yourself. We have
fields for this. Here's the field definition for your use case above
(multiple interfaces separated by whitespace):
interfaces = zope.configuration.fields.Tokens(
title=...,
description=...,
required=True,
value_type=zope.configuration.fields.GlobalInterface()
)
--
http://worldcookery.com -- Professional Zope documentation and training
More information about the Zope3-users
mailing list