Hi,

On Mon, Aug 06, 2007 at 09:51:18AM -0230, Greg Baker wrote:
> How can I specify a template to render a sub-object within one of my content 
> objects?
> 
> For example, pretend I have a Contact object which contains a Person object.  
> I am rendering the Contact object through a page template.
> 
> class Contact:
>     person = Person()
> 
> In all the examples I see, rendering the person would be done using many tal 
> expressions like <span tal:content="context/person/name" /> or something 
> similar.
> 
> Is it possible to render the person object using a single tal expression, 
> <div 
> tal:content="context/person" />,

You may use a view which adapts Person() objects:

 <div tal:content="structure context/person/@@defaultview" />
 
You have to define e view for Person() like this:

*browser/configure.zcml*
[...]
   <page
      for="..interfaces.IPerson"
      name="defaultview"
      template="mypersontemplate.pt"
      [...]
   />
[...]

Don't forget to allow access to you Person()-class (e.g. via 
configure/class/allow).

[snip]

Regards,

Frank
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to