Kevin: Great! Thanks a lot! Works like a charm! [I hate to think about how much time I have wasted over the last two weeks.] Here is a quick write-up for others taken from the example of KM|Net News. In your xProduct, create a DTML document (or method) with id default. This is at the same level as the xClass, xClass_add, xClass_addForm, and xClassFactory. In your xClass_add, include within the <dtml-with "xClass.createInObjectManager(REQUEST['id'], REQUEST)"> the lines <dtml-call "REQUEST.set('data',default.document_src(REQUEST,RESPONSE))"> <dtml-call "manage_addDTMLDocument('default','',data)"> [changed in the obvious way for a DTML Method] along with any property sheet management call (as explained in the comment in the standard xClass_add). Now when you create an instance of x, the document default will be automatically created within the instance created. Since default is inside of the instance, I believe you must have ZObjectManager as one of the base classes. [I haven't tried it without ZObjectManager as a base class, but I know it works when you do.] Thanks again. Al Kevin Dangoor wrote:
Hi,
I had originally been thinking that ZClasses would allow you to override ZClass-level methods, etc. with methods at the instance level. But, this is not the case... and you're also not able to edit the methods for each instance, as you have found.
I have a solution to this, and I should probably write it up in a HOWTO because this has come up a couple of times. If you download KM|Net News, you can see my solution pretty easily.
In the KMArticleStore ZClass, there are methods labelled "default_article_header" and "default_article_footer", etc. The KMArticleStore_add method will automatically take the contents of those methods and copy them to the new instance. I have also added a view called "Defaults" which allows the user to easily restore the defaults. One side note: make sure you map the Access Contents Information property on your "default" methods.
I'll try to write a complete howto about this in my copious free time. Hopefully, the paragraph above will point you where you want to go...
Kevin
-----Original Message----- From: Albert Kinderman <albert.kinderman@csun.edu> To: zope@zope.org <zope@zope.org> Date: Friday, October 01, 1999 2:40 PM Subject: [Zope] ZClass Question
I have tried all sorts of permission combinations, but I can't seem to get it right. When I create an instance (agenda), the Contents page appears empty (index_html and content are not listed), but when I view the instance I see the page correctly with the default contents from the agendaClass. I would like "content" to appear on the Contents page of the instance. Clicking on "content" should take the content manager to a set of pages that include Edit, Upload, Properties, and View. I do not want the index_html to be editable.
-- Albert Kinderman California State University, Northridge Department of Management Science albert.kinderman@csun.edu