在collective.easytemplate中访问对象的工作流状态

时间:2012-02-22 15:29:29

标签: plone

我想使用collective.easytemplate生成模板化电子邮件(用于内容规则)。但是,我不确定它是否可以输出对象工作流状态。有人知道它是否可能以及如何完成?

感谢。

2 个答案:

答案 0 :(得分:4)

您可以,但有一种方法是使用 portal_workflow 工具,例如来自parts/omelette/plone/app/contentrules/tests/test_action_workflow.py

 self.assertEquals('published', 
     self.portal.portal_workflow.getInfoFor(self.folder.d1, 'review_state'))

更一般地说,像:

context.portal_workflow.getInfoFor(context, 'review_state')
页面模板中的

应该有效。或者使用 portal_catalog ,如Spanky建议的那样如果“obj”是目录“大脑”(即目录搜索结果集的一部分),那么:

obj.review_state

应该有用。

答案 1 :(得分:1)

portal_catalog还有一个工作流的Review State的索引,所以如果你还没有你正在处理的对象(例如context≠对象),你可以使用目录,查找对象并获取从产生的“大脑”对象中审查状态。

显然还有ALSO浏览器查看方法,我注意到其中一个是workflow_state。见:

http://plone.org/documentation/manual/theme-reference/page/otherinfo