Simon Brogden wrote:
Hi All,
I'm (banging my head against the desk) writing to write a ZClass that inherits from ObjectManager and can contain other objects (DTMLMethods & Images). When an instance of the class is created I want to copy/create a couple of default DTML methods inside the instance, so the user can modify them.
Trouble is, the methods appear at the same nesting level as the class is created at, not contained within it.
I'm putting the create/copy call inside the class constructor method: <dtml-call "manage_addProduct['OFSP'].manage_addDTMLMethod(....)>
I've trawled the how-to's & the example products (the "How to: Build a searchable job board" is excellent BTW) to no avail.
Does anyone know where I'm going wrong?
Hi, Simon The standard answer is to use the dtml-with tag: <dtml-with newitemname> <dtml-call "manage_addBlah(params)"> </dtml-with> But you might consider making a python script called "init" or something like that for the class you are adding: methodID = 'example' methodTitle = 'This is the example method" methodStandardText = """<standard_html_header> example dtml text goes here <dtml-var standard_html_footer>""" container.manage_addDTMLMethod(id=methodID,title="") container[methodID].manage_edit(data=methodStandardText, title=methodTitle) then after you add the new item, <dtml-call "newitemname.init()"> hth, -- Jim Washington