我如何向州询问内容对象?

时间:2013-03-03 18:10:44

标签: plone

this tutorial的末尾列出了几个对象属性。但是我需要访问状态(已发布,私有,......)。我还使用dir()搜索该属性,但我没有看到名为state的属性或类似的属性。即,我需要这样的东西:

>>> app.Plone.foo.bar.state
"published"

3 个答案:

答案 0 :(得分:9)

或者为了让您的代码更具可读性而不必记住奇怪的方法名称,您可以使用plone.api来执行此操作:

from plone import api
api.content.get_state(obj=your_object)

当然,您需要先将plone.api添加到鸡蛋中,然后重新运行buildout。

答案 1 :(得分:5)

您始终可以使用plone_workflow来确定当前状态:

workflowTool = getToolByName(self.portal, "portal_workflow")
status = workflowTool.getStatusOf("plone_workflow", object)
# where "object" is your content object
print (status)

答案 2 :(得分:3)

不幸的是,没有“州”属性。相反,请使用工作流程工具检查review_state,例如:

>>> app.Plone.portal_workflow.getInfoFor(app.Plone.foo.bar, "review_state")