[Zope] <dtml-tree> from multiple SQL tables
    Will Stephenson 
    lists at stevello.free-online.co.uk
       
    Wed Nov 19 12:28:15 EST 2003
    
    
  
I know this is a FAQ, but I haven't found the question completely answered 
anywhere yet.
I'm trying to generate a 2-level <dtml-tree> from a pair of SQL tables.  I've 
read anthony's "Some Neat Tricks with dtml-tree" which suggests (with a 
single table) using a query that returns the children for the specified 
parent in branches_expr.
I've extrapolated from this to make branches_expr a Python script that should 
query the appropriate table depending if we are trying to draw the children 
of the root, or their children: 
if int(parentId) == 0:
    return container.query.treeCategories()
elif int(parentId) > 0:
    return container.query.treeSubCategories(category=(int(parentId))
(2 tables, category and subcategory)
Both queries return 'id' and 'name' fields, where id is unique among sibling 
nodes (it's a primary key from the tables).
However anthony's page mentions a missing 'tpId' attribute, but stops before 
explaining how to set this, or to spoof it.  My tree expands very strangely - 
expanded branches always contain the top level Categories recursively, not 
the subcategories.
I also saw Tino Wildenhain's posting 
http://mail.zope.org/pipermail/zope/2000-June/111642.html where he mentioned 
offsetting the ids to guarantee uniqueness.  I thought this might mean all 
ids have to be unique in the entire tree, so I employed a similar strategy, 
but it hasn't got me anywhere yet.
Can anyone explain how it should be done, or point me to a good example?
Thanks in advance
Will
-- 
Will Stephenson
    
    
More information about the Zope
mailing list