On Thursday 20 November 2003 18:37, Dieter Maurer wrote:
Will Stephenson wrote at 2003-11-19 17:28 +0000:
... 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.
Look at the "id" attribute of "dtml-tree". More generally, read the "dtml-tree" documentation.
I had set id=objectid, but my level 2 query didn't return a field called 'objectid', <p>Category tree view (not working) <p> <dtml-let objectid="0"> <dtml-tree id=objectid branches_expr="makeTree(parentId=objectid)"> <b><dtml-var name></b> </dtml-tree> </dtml-let> I was confused and called it 'tpId'. So now I have a tree which appears to obtain level 2 branches correctly, because it only shows + expander signs next to the level 1 branches that have children. But when I try to expand these branches, I get a "Error Type: TypeError Error Value: object of type 'long int' is not callable" error. I'm running in debug mode but there isn't a backtrace in the error page as rendered or its source. I can see I'm passing an int to a method that requires a callable object, but I can't find out what the parameter name my queries' output is getting wrong is, or what the correct type for it is. How can I get a slightly more informative error? TIA Will makeTree: if int(parentId) == 0: return container.treeCats() elif int(parentId) > 0: return container.treeSubCats(category=int(parentId)) treeCats: select id as objectid, 0 as parent, concat('/viewCategory?category=', id) as tpURL, name from category treeSubCats: SELECT id + 1000 * <dtml-sqlvar category type=int> as objectid, name, <dtml-sqlvar category type=int> as parent, 'foo' as tpURL FROM subcategory WHERE <dtml-sqltest category type=int> -- Will Stephenson IRC: Bille