Matthew Wilbert wrote:
> I have some DTML that needs to call an external method that returns a dictionary.  I 
>don't have any problem referencing the resulting dictionary by doing something like
> <dtml-var externalMethod()['key1']>
> <dtml-var externalMethod()['key2']>

> .
>  .
> However, I need to do this for several keys, and I don't
> want to call externalMethod several times.  Is there a
> way to assign the method result to another variable, or
> is it possible that DTML is smart enough not to do the
> call multiple times?  Or is there some other approach
> that I am not even thinking of?

<dtml-let mydict="externalMethod()">
<dtml-var "mydict['key1']">

i know dtml will cache results on the same method call in a single
request which generally makes it efficient to do stuff like

<dtml-if expensiveQuery>
        <dtml-var expensiveQuery>
        cheap skate;)

and i'm guessing the same should apply to external methods.


Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to