John Poltorak wrote:

On Fri, Jun 17, 2005 at 07:09:04PM +0200, Dieter Maurer wrote:

Tino Wildenhain wrote at 2005-6-17 10:57 +0200:

...
Not at all. You could either have tried
it out ;) Or looked at the DTML documentation
in the Zope book *wink* ;)

<dtml-var expr="somemethod(parm1=value1,parm2=value2)">


Be warned: this is likely to cause loss of the namespace.
Do not forget to pass the two positional arguments (usually
as "None, _"). They are essential.

For more details, read "Calling DTML Objects" of

 <http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html>


That looks useful.

Is there also something which explains how to call ZPTs from a DTML object?

I'm unable to pick up a passed parameter.

This is what I've conjured up:-

python:here.lib.parse_file(file=context.options['parm'],sepr=',',clone=1)"> hoping that "options['parm']" would get resolved as "ABC" but it doesn't.

Any ideas?

When you call a ZPT like::

 context.somePT(dog="beagle")

you can get to it in the template like::

 options/dog

or::

 python:options.dog

or::

 python:getattr(options,'dog')

or maybe even::

 python:options['dog']

Note that in the last two, I didn't need to know the name of the parameter at coding time, but could find it at runtime. If I have::

 tal:define="att string:dog"

then I can do::

 python:getattr(options,att)

The 'options' name is not contained in context. It is it's own first-class namespace.

If 'parse_file' above is a ZPT, you can ask for options/file, options/sepr, and options/clone.

       --jcc

--
"Building Websites with Plone"
http://plonebook.packtpub.com/

Enfold Systems, LLC
http://www.enfoldsystems.com

_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to