Personal tools

Zope对象文件系统(OFS)的几个hook函数

这个几个函数非常索然无味,而且在后续版本会过时。

这个几个函数非常索然无味,而且在后续版本会过时。

但是,在zope 3的事件机制未引入之前,Zope开发还是需要了解OFS的几个hook函数。

所谓OFS,就是Zope的对象文件系统(Object File System),也就是在ZMI中所看到的对象树。

好不容易从代码中扒出来,写下来:

def manage_beforeDelete(self, item, container):

对象被删除(delete)、改名(rename),或者移动(move)之前,都先会调用此函数(从对象树中移除的时候就会调用_delObject)。

如果要区分具体是什么操作,可同时重载 _notifyOfCopyTo 等方法处理。

CMF中的容器对象,会对整个容器树中的子对象迭代调用这个方法。

def manage_afterAdd(self, item, container):

对象被添加、或者复制、被移动的之后,都会调用此函数(只要放到对象树中的时候就会调用_setObject)。

如果要区分是新添加,还是复制,需要重载其他的方法,比如 _getCopy 等.

CMF中的容器对象,会对整个容器树中的子对象迭代调用这个方法。

def manage_afterClone(self, item):

对象被Paste完成后调用,此前会先调用 manage_afterAdd

CMF中的容器对象,会对整个容器树中的子对象迭代调用这个方法。

def manage_renameObject(self, id, new_id, REQUEST=None):

容器对象才有此方法,对对象进行改名,会触发 manage_beforeDeletemanage_afterAdd 方法

 

本站由 润普公司资助, 采用 易度CMS 构建。

广而告之:润普公司 易度云办公平台,包括 易度文档管理系统 易度项目管理系统 , 易度部门管理 ,均采用Zope 3/BFG技术开发。
沪ICP备05008050