[Zope] Re: dtml-tree with data from multiple tables

Tino Wildenhain tino@wildenhain.de
Sat, 10 Jun 2000 11:25:40 +0200


Hi Lance,

Lance Kurisaki wrote:
> 
> >>I'd like to generate a tree with data from different
> >>SQL tables depending on the tree level. In other
> >>words, the first level data  comes from one table,
> >>second level comes from another.
> >>
> >>How can the branches_expr expression determine what
> >>the current tree  level is? Can I pass a parameter
> to
> >>let me know the current level? I tried the
> following,
> >>but it didn't work...
> >>
> >>  <dtml-tree id=name
> branches_expr="child_lookup(_['tree-level'])">
> >
> >
> >I think Anthony baxter's "Some neat tricks with
> dtml->tree" <url:
> >http://www.zope.org/Members/anthony/tree-coding->tricks
> > will help you out
> 
> That How-To uses the same SQL table to define children
> at all levels of the tree. How can I use different
> tables at different levels? Am I able to determine the
> current level in my child_lookup() method?
> 
I used a trick to archive this:

each of my tables has a number as key. <dtml-tree>
needs a unique id for lookup. So to make it unique,
I add an offset to each tables key and remove it for
query. My query is kind of self modifying for this,
comparing if the key is inside a given interval and making 
the query at the appropriate table with removing the offset first
and adding the next offset to the results.

I can provide an example, if you wish.

Regards
Tino Wildenhain