[Zope] Re: Filling a metal slot which name is known only at run time
    Evan Simpson 
    evan at tokenexchange.com
       
    Tue Dec 14 13:46:49 EST 2004
    
    
  
Martin Aspeli wrote:
> When viewing the CompositePage, it will do the following:
> 
> <metal:layout use-macro="here/getChosenLayoutTemplate">
>     <metal:composite fill-slot="top_slot">
>         <div tal:content="structure python:here.renderContentForSlot  
> ('top_slot')"/>
>     </metal:composite>
>     <metal:composite fill-slot="bottom_slot">
>         <div tal:content="structure python:here.renderContentForSlot  
> ('bottom_slot')"/>
>     </metal:composite>
> </metal:layout>
Ah, so you want layout template authors to be able to define slots with 
semi-meaningful names, then programmatically fill those slots with 
either a content-selector widget or the selected content.  The fact that 
'fill-slot' only accepts a literal string isn't a surface detail -- 
you'd have to go deep into the guts of the TAL interpreter to change 
that. The best way I can think of to deal with this is to actually 
generate the ZPT text with the slot names filled in, as in the example 
above, and compile the text as a template.
Cheers,
Evan @ 4-am
    
    
More information about the Zope
mailing list