定制Plone Dexterity工厂创建子内容

Pet*_*tri 1 python plone dexterity

我认为可以创建一个调用默认工厂的自定义Dexterity工厂,然后将一些子内容(在我的案例中基于Archetypes)添加到创建的"父"Dexterity内容中.

我创建和注册自定义工厂没有问题.

但是,无论我使用什么方法(创建AT子内容),从自定义工厂中尝试时子内容创建都会失败.

我已经尝试了从plone.api到invokeFactory以及直接实例化AT内容类的所有内容.

在大多数情况下,traceback显示底层的Plone/CMF代码尝试使用getToolByName获取portal_types工具并失败; 类似地,当尝试直接实例化AT类时,manage_afterAdd然后尝试访问reference_catalog,该失败.

有没有办法让这项工作?

keu*_*eul 6

一种不同的方法可以简单地添加事件处理程序IObjectAddedEvent,并添加使用通用API的个子.