Re: [Zope] Calling a DTML method in a subfolder that uses PARENTS[0]
Soren Roug writes:
Hello,
I'm trying to call a method inside a folder that uses this common way of listing its content:
<dtml-in "PARENTS[0].objectValues('File')"> <dtml-var absolute_url><br> </dtml-in>
Let's call this folder FileLibrary. (It's actually a Z Class subclassed from ObjectManager)
My problem is when I call the method from the folder above, then PARENTS is unchanged and the script will try to enumerate the files in the folder I'm calling from. I've tried several things, e.g.
... <dtml-with FileLibrary> <dtml-call "REQUEST.PARENTS.append(_)">...
<dtml-call "REQUEST.PARENTS.append(FileLibrary)"> would do it, but would be *VERY* hacky code. Instead: Give your method a parameter, say "sourcefolder". In your method: <dtml_in "(_.has_key('sourcefolder') and sourcefolder or PARENT[0]).objectValues('File')"> (You may want to factor the "(_.has_key....PARENT[0])" out.) Then, when your method should use a special folder, use: <dtml-let sourcefolder=whatever> <dtml-var FileLibrary> </dtml-let> Dieter
participants (1)
-
Dieter Maurer