On Fri, Jun 17, 2005 at 05:39:23PM -0500, J Cameron Cooper wrote:
I'm assuming the above line comes from a page template. You neglected to mention what the calling DTML looks like, but I *guess* that it was something like this: <dtml-var "some_template(parm='ABC')"> yes? no?
This is what I have:-
<dtml-var expr="testlist(parm='myobjectname')">
I wish to get 'myobjectname' into this line in 'testlist' which is marked with *********
python:here.parse_file(file=context.******,sepr=',',clone=1)">
There must be a simple way of doing this, but I haven't come across an example of it and I've spent most of the day on it.
Taking the options from my previous email and putting them together, you can say::
python:here.parse_file(file=getattr(context,options.parm),...)
to get the attribute on the current context named 'myobjectname' or whatever else you provide as the 'parm' parameter on 'testlist'.
Many thanks. I appreciate the help. I think I've incorporated your suggestion into the code below... <html> <body> <span tal:define="opts python:here.parse_file(file=getattr(context,options.parm),sepr=',',clone=1)"> <tal:block repeat="opt opts"> <li><a tal:content="python:opt[1]" tal:attributes="href python:opt[0]"></a></li> </tal:block> </span> </body> </html> Unfortunately, when I try to use this expression <dtml-var expr="testlist(parm='links')"> I get this Zope error:- Error Type: AttributeError Error Value: 'dict' object has no attribute 'parm' Can't help thinking it is a simple syntax error - missing bracker, quote etc... but just can't figure it out.
--jcc
-- "Building Websites with Plone" http://plonebook.packtpub.com/
Enfold Systems, LLC http://www.enfoldsystems.com
-- John