如何使用dexterity以编程方式创建内容项/容器?

时间:2012-07-17 06:41:08

标签: python plone dexterity

我已经阅读了手册,特别是在灵巧下操纵对象。 http://plone.org/products/dexterity/documentation/manual/developer-manual/reference/manipulating-content-objects/

我想要做的是以编程方式将内容(项目/容器)添加到正在创建的当前容器中。更具体地说,我正在创建一个容器/文件夹,一旦创建了这个容器,它将自动在父文件夹(手动新创建的文件夹)下创建项目/文件夹。

我尝试使用类似的代码createContentInContainer(文件夹,'content_type_name',title = u“title_here”),但是我的实例上出现错误,说“文件夹”没有定义。我想问一下如何在内容类型中插入此代码段?它是在类构造函数中定义的函数/方法内部,还是应该如何最初声明/定义“文件夹”?

感谢。

1 个答案:

答案 0 :(得分:2)

答案似乎很简单:您的folder必须是文件夹类型的existing instance。例如:

new_id = plonesite.invokeFactory('Folder', 'some_id')
folder = plonesite[new_id]

from plone.dexterity.utils import createContentInContainer
createContentInContainer(folder, 'example.type', title=u"Foo")

HTH