[Zope-dev] Setting vars in expression eval() namespace

Julio Maia julio@pobox.com
Wed, 21 Feb 2001 22:15:11 -0200


On Wed, Feb 21, 2001 at 10:53:54PM +0000, Steve Alexander wrote:
> Julio Maia wrote:
> 
> > 
> > This is not going to be handy once the block is composed by a large dtml
> > block. I wonder if dtml-var shouldn't support the syntax I've described
> > above.
> 
> I suggest instead using a PythonScript, and using the DTML class that you
> can import from the Products.PythonScripts.standard module.
> 
> You can use this to render DTML on the fly, as you wish.

I guess it would be better to allow constructs as:

<dtml-var "table('main','col')">
   <dtml-var "font('standard')">Some text</dtml-var> 
</dtml-var>

Where 'table' and 'font' are PythonScripts that return the implicit blocks passed to them (these blocks may have a default variable name in the expression's namespaces) enclosed by the correspondent html blocks, with the format ('main, 'standard') mapped to html attributes/values using some dictionaries. This could help to separate logic and presentation in dtml code with a minor syntax addition.