Oliver Bleutgen writes:
I knew the best practice to do that, but I forgot it, and don't find the solution on zope or elsewhere, and probably I'm confused.
Say I have a container product, and objects which just will be added to that container or its subobjects. Therefore I don't want the subobjects to appear in the general add list, just in the add list of the container. I know how to manipulate that add-lists, my problem is what to do with the subobjects to get them into zope "properly".
Do I write my subobjects like normal zope product, just without registering them with zope as products? Do I then add instance of my subobjects to a container just using _.setObject? I do it like this (for a CMF site):
class ContainerProduct(...): ... def all_meta_types(self): '''return list of allowed meta types.''' return ( { 'name' : PortalConfig.meta_type, 'action': 'PortalConfig_add', # that's a skin form, calling "addPortalConfig" 'permission': ManagePortal, }, ) def addPortalConfig(self,id,title='',RESPONSE=None): '''add Portal Config object.''' o= PortalConfig(); o.id= id; o.title= title self._setObject(id,o) if RESPONSE is not None: RESPONSE.redirect('%s/manage_main' % self.absolute_url()) class PortalConfig(...): ... Dieter