3

最近对 Plone 计算视图评论列表的方式进行了更改(链接到 Google Cache,因为 dporg 现在似乎已关闭)full_review_list。为了更好地支持 LinguaPlone,WorkflowTool 现在显式添加了一个Language='all'用于检索工作列表的查询,而之前只显示用户当前语言的结果。代码在Products.CMFPlone.WorkflowTool#getWorklistsResults().

是否可以覆盖这种新行为以获得旧行为?

4

1 回答 1

2

我们真的应该通过 ZCML 覆盖来定制它,但你是对的,在这种形式下它不能简单地被覆盖。因此,无论您要采用哪种方法,您都必须复制该方法并在其他地方进行修改,然后将其挂钩,以便您的自定义版本优先。

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

如果您想查看从 portlet 中单击进入的完整审查列表中的更改,那么您将不得不使用collective.monkeypatcher来修补portal_workflow 上的方法。我不建议这样做,因为您可能希望用户可以去某个地方查看所有语言的完整评论列表。

于 2011-08-15T21:49:13.477 回答