2011-08-15 8 views
3

recent change(d.p.orgとしてのGoogleキャッシュへのリンクが今のところないように見える)のPloneがfull_review_listビューのレビューリストを計算する方法に、ユーザーの現在の言語の項目をfull_review_listで表示しています。 LinguaPloneをより良くサポートするため、WorkflowToolはワークリストの検索に使用されるクエリにLanguage='all'を明示的に追加します。ただし、ユーザーの現在の言語での結果のみが表示される前です。コードはProducts.CMFPlone.WorkflowTool#getWorklistsResults()です。Plone> 4.0.7

この新しい動作を上書きして古い動作をさせることはできますか?

答えて

2

ZCMLのオーバーライドを使用してカスタマイズ可能にする必要がありますが、そのような形で簡単に上書きすることはできません。したがって、どのようなアプローチを取っても、そのメソッドをコピーして別の場所に変更し、カスタマイズしたバージョンが優先されるようにフックする必要があります。

どこで変更を確認する必要がありますか?ちょうど最初のレビューリストのポートレットに?その場合、そのポートレットには rendererとし、新しいレンダラーにメソッドを追加し、コードをコピーして変更を加え、次にレンダラーをオーバーライドして、portal_workflowのレンダラーメソッドではなくレンダラーメソッドを使用します。

ポータルからフル・レビュー・リストの変更を確認する場合は、collective.monkeypatcherを使用してportal_workflowのメソッドにパッチを適用する必要があります。私はこれに反対することをお勧めします。ユーザーがすべての言語で完全なレビューリストを見ることができる場所が必要なのかもしれません。

+0

このユースケースでは、言語ごとにエディタが存在するため、「すべて」のビューは必要ありません。実際、これはコンテンツ管理者にとって積極的な不満です。その他の回避策は、サイト内検索を使用することです: 'http://plonesite.com/search?review_state = pending' –

+0

これだけであれば、その基準のコレクションを使用して、そのコレクションに査読者を向けることができます。また、OOTBレビュー・リスト・ポートレットを、それを指すコレクション・ポートレットに置き換えることもできます。 –

+0

実際のレビュー・リスト・ポートレットは、各ワークフローが独自の「ワークリスト」状態を定義できるサイト上のすべてのワークフローのカタログ問合せを動的にアセンブルします。したがって、「保留」状態のハードコードされたクエリを使用すると、その動的な動作が失われます。 1つのOOTBデフォルトワークフローを使用している場合は問題ありません。 –

関連する問題