[Zope] nested dtml-with
Paul Zwarts
paz@oratrix.com
Thu, 13 Jun 2002 10:59:47 +0200
Ah, lol.. No. Sorry... I must not be making much sense.
I wont explain everything because it would really sound strange. Long
story short, I have a list which is basically the location of a document
(folder, folder2, index_html = folder1.folder.index_html).
>From a method called from the root of the site: /index_html
I want to basically do the same as this code:
<dtml-with folder 1>
<dtml-var index_html>
<dtml-with folder2>
<dtml-var index_html>
</dtml-with>
</dtml-with>
But instead using the list. The reason is that every folder may or may
not have an index_html, and any directory that DOES have one in the
traversal path from root to the end of the list (folder1 to
folder2.index_html (3 steps)) will be rendered into the document.
So I would get something like:
<!-- this is from /folder1/index_html !--/>
<h1>Folder 1</h1>
<!-- this is from /folder1/folder2/index_html !--/>
<h1>Folder2</h1>
The trick is that I am currently in the root namespace. I tried
ascending the tree with the code I pasted earlier, but it seems to just
query all iterations from root, and of course this doesn't work.
Did I explain any clearer or worse?
Thanks,
Paz
-----Original Message-----
From: Max M [mailto:maxm@mxm.dk]
Sent: Thursday, June 13, 2002 10:44 AM
To: Paul Zwarts
Cc: zope@zope.org
Subject: Re: [Zope] nested dtml-with
Paul Zwarts wrote:
>I tried your code out, but subTree('Folder') returns an attribute error
>and I cant find anything under 'subTree' search anywhere on zope.org..
>Are you sure that's what it is?
>
You need to define a Python script called subTree ... see my code
example.
>I'd like to be able to call a document from the root of my site based
on
>a list stored in a Session.
>
You are either talking nonsense, skipping several lines of thought, or I
havn't understood a bit! Was your problem not that you wanted to get a
list of all objects and subobjects in a folderish object?
regards Max M
>From: Max M [mailto:maxm@mxm.dk]
>Sent: Thursday, June 13, 2002 8:33 AM
>To: Paul Zwarts
>Cc: zope@zope.org
>Subject: Re: [Zope] nested dtml-with
>
>Don't do recursion in dtml. It's a cardinal sin, and it will make your
>head explode.
>
>Do it in a Python script instead.
>
>untested::
>
> def subTree(context, type=None):
> """
> Returns the entire sub-branch below this recursively as a flat
>list
> """
> children = context.objectValues(type)
> grandChildren = []
> for child in children:
> grandChildren += child.subTree(type)
> return children + grandChildren
>
>
>regards Max M
>
>
>
>
--
"Sorry I would Really Like To Help More On This Project,
But Am To Busy Doing Paid Work On A Tight Deadline"
Max M