[Zope] Using tal and no dmtl.
Thu, 12 Jun 2003 01:22:31 +0200
John Kipling Lewis wrote:
> On Fri, 30 May 2003, Dmitry Dembinsky wrote:
>>We use tal:define for this purpose:
>> <body tal:define="dummy python:foo(); <other assignments>" ...
>>Usually this way we run some page setup code which we put inside <body>
>>or even top-level <html> tag.
> We have done this as well. It just seemed an obvious hole in the tal
> system. There should be a way to execute arbitrary code in tal.
> Something like:
> <body tal:run="python:foo()">
> John -
I have to disagree whith this. Even tal:define is somewhat ugly.
The design goal has to be to remove as much application code
as possible from template. So always set up your data outside
of the template.
A handy way is to have a simply python script "dispatcher"
method which calculates all values and stuff and then
returns the actual template like this:
-- python script --
-- /python script--
in this example you can access values
thru options/values in TAL.
This is clean and handy.
You even can return different templates according to
a condition and set header information and so on.