仅显示用户';Plone的完整审查列表中的当前语言>;4.0.7

仅显示用户';Plone的完整审查列表中的当前语言>;4.0.7,plone,linguaplone,Plone,Linguaplone,Plone为full\u review\u list视图计算审阅列表的方式(链接到Google Cache as d.p.org的链接现在似乎已关闭)。为了更好地支持LinguaPlone,WorkflowTool现在显式地将Language='all'添加到用于检索工作列表的查询中,而以前只显示用户当前语言的结果。代码位于Products.CMFPlone.WorkflowTool#getWorklistsResults()中 是否有可能覆盖这个新行为以获得旧行为?我们确实应该通过ZCML覆盖

Plone为
full\u review\u list
视图计算审阅列表的方式(链接到Google Cache as d.p.org的链接现在似乎已关闭)。为了更好地支持LinguaPlone,WorkflowTool现在显式地将
Language='all'
添加到用于检索工作列表的查询中,而以前只显示用户当前语言的结果。代码位于
Products.CMFPlone.WorkflowTool#getWorklistsResults()


是否有可能覆盖这个新行为以获得旧行为?

我们确实应该通过ZCML覆盖使其可定制,但您是对的,在这种形式下,它不是简单地可覆盖的。因此,无论您将采取何种方法,您都必须复制该方法并在其他地方对其进行修改,然后将其挂接,以便您的自定义版本优先

您需要在哪里查看更改?只是在初始审查列表portlet中?在这种情况下,仅针对该portlet,向新的呈现器添加一个方法,复制代码,进行更改,然后覆盖呈现器以使用呈现器方法,而不是门户工作流上的方法


如果您想在portlet中点击查看完整审查列表中的更改,那么您必须在portal\u工作流中使用该方法进行修补。我建议您不要这样做,因为您可能想要一个用户可以查看所有语言的完整评论列表的地方。

在我们的用例中,每个语言都有编辑器,因此我们不需要“all”视图;事实上,这对内容经理来说是一个积极的挫折。另一个解决方法是使用内置的站点搜索:
http://plonesite.com/search?review_state=pending
如果您只需要这些,您可以使用具有该标准的集合,并将您的审阅者指向该集合。您还可以将OOTB审阅列表portlet替换为指向它的集合portlet。请记住,实际的审阅列表portlet动态地为站点上的每个工作流组装一个目录查询,其中每个工作流可以定义自己的“工作列表”状态。因此,如果您只是对“挂起”状态使用硬编码查询,您将失去这种动态行为。如果您只使用一个OOTB默认工作流,那么这没有问题。