移动+将内容项目重命名为Plone中的其他文件夹
问题描述:
我们希望在单个脚本操作中将对象移动并重命名为Plone中的其他文件夹。移动+将内容项目重命名为Plone中的其他文件夹
是否有一个API'sh调用可以实现这个功能?
或者:应该调用cut + paste + manage_renameObjects()还是有更简单的调用链?
答
您应该剪切+粘贴+ manage_renameObjects()
。这是您可用的唯一API。 :-)
我经常使用一个辅助方法作业:
from Acquisition import aq_parent, aq_inner
def move(id_=None, ob=None, parent=None, dest=None, newid=None):
# Either provide id and parent, or ob.
if id_ is None:
id_ = ob.getId()
if parent is None:
parent = aq_parent(aq_inner(ob))
clipboard = parent.manage_cutObjects([id_])
result = dest.manage_pasteObjects(clipboard)
if newid is not None:
dest.manage_renameObject(result['new_id'], newid)
答
Martijns的答案是正确的,但现在的Plone已经提供所需的方法的API:
http://docs.plone.org/external/plone.api/docs/content.html#move-content
比cut + paste + manage_renameObjects()简单吗? :) – Yuri 2012-07-20 08:14:53