Custom tpValues for dtml-tree
I'm trying to write a method that works with dtml-tree. It works great, until I try to expand a node :( Here's what I've got: class Foo: __allow_access_to_unprotected_subobjects = 1 def __init__(self, item): self.title = item.title self.items = item.items def tpValues(self): "tpValues" r = [] for item in self.items: foo = Foo(item) r.append(foo) return r class Module(Folder, etc, etc, etc,): def tree(self): "used to create a dtml-tree" r = [] for item in self.items: foo = Foo(item) r.append(foo) class Bar: __allow_access_to_unprotected_subobjects = 1 def tpValues(self): "tpValues" return self.r b = Bar() b.r = r return b Then from a dtml method inside an instance of Module I have: <dtml-tree tree> <dtml-var title> </dtml-tree> This works fine for the first page, but once I try to expand an item I get: Error Type: AttributeError Error Value: 'tuple' object has no attribute 'append' Traceback (innermost last): File /usr/src/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr/src/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/src/Zope-2.2.2-src/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /usr/src/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/src/Zope-2.2.2-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: randy2) File /usr/src/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: randy2) File /usr/src/Zope-2.2.2-src/lib/python/OFS/DTMLMethod.py, line 172, in __call__ (Object: randy2) File /usr/src/Zope-2.2.2-src/lib/python/DocumentTemplate/DT_String.py, line 528, in __call__ (Object: randy2) File /usr/src/Zope-2.2.2-src/lib/python/TreeDisplay/TreeTag.py, line 154, in render (Object: forums(orderby='dir')) File /usr/src/Zope-2.2.2-src/lib/python/TreeDisplay/TreeTag.py, line 237, in tpRender File /usr/src/Zope-2.2.2-src/lib/python/TreeDisplay/TreeTag.py, line 566, in apply_diff (Info: ([None, ([140975456, []],)], [140974880, 140974088])) AttributeError: (see above) I must be missing something simple here... But I haven't been able to find it. Thanks for you help, -Randy P.S. this is the second time I've tried to become a Zope convert, and thanks to a lot of help from this list I think I might make it this time.
Randall Kern wrote:
This works fine for the first page, but once I try to expand an item I get:
Error Type: AttributeError Error Value: 'tuple' object has no attribute 'append'
This, IIRC, is a bug in dtml-tree that no-one ever managed to fix. Maybe someone at DC could help? Try sticking it in the bug collector: http://classic.zope.org:8080/Collector/ cheers, Chris
participants (2)
-
Chris Withers -
Randall Kern