[Zope] Creating CatalogAware products.
Jens Vagelpohl
jens@zope.com
Thu, 12 Sep 2002 00:20:23 -0400
> * In the __init__ method, I have : self.index_object()
this will not work because inside __init__ the object has no "context",
it has not been seated in a container and cannot "find" things
(including your catalog) through acquisition yet.
add the manage_afterAdd and manage_beforeDelete hooks to you class and
do indexing/unindexing in those::
def manage_afterAdd(self, item, container):
""" what to do after i have been created """
self.index_object()
def manage_beforeDelete(self, item, container):
""" what to do before i get deleted """
self.unindex_object()
those hooks get called automatically right after instantiating the
object and right before it is deleted.
jens