web-dev-qa-db-ja.com

最近更新されたコンテンツとその状態を示す新しいWorkbenchビューを作成する

これは私の問題を示す簡単な例です。

ワークフローシステムにいくつかのWorkbenchモデレーション状態(および多くの遷移)を追加しました。

次の列を持つコンテンツを表示するには、新しいテーブルビューを作成する必要があります。

  • 題名
  • 改訂レビュー日
  • モデレート状態

(モデレート状態に外部フィルターを追加するか、状態を複数のディスプレイに分離します)。

これは私がやったことです:

  1. コンテンツリビジョンの新しいビューを作成しました
  2. コンテンツリビジョンとの関係を使用するワークベンチモデレーション:状態フィールドを追加
  3. 最近更新されたノードを表示するために、コンテンツリビジョン更新日の降順の並べ替え基準を追加しました
  4. 「公開済み」フィルターを削除しました-レビュー中のコンテンツはまだ公開されていない可能性があるため。

しかし、私が目にするのは繰り返しコンテンツです。フィルター「現在のモデレート」を追加した後、重複を減らすには、フィルター「ワークベンチモデレーション:現在(はい)」を追加する必要があることを知っています。ただし、このフィルターを追加した後、リストには現在のモデレート状態は表示されません。これはバグですか?

6

私は実際にこれを理解したと思います。

  1. "Content revisions"( "Content"だけではない)をリストする新しいビューを作成します。 「保存して続行します。」
  2. [編集の表示]画面で、右側の[詳細]列を開き、[関係]から[コンテンツリビジョン:コンテンツ]の関係を削除します。これにより、ビューはnode_revisionテーブルですが、nodeテーブルをvidフィールドに結合します。これは、必要なものではありません(node.vidは常に最新のリビジョンを指すとは限りません)。代わりに、「コンテンツリビジョン:コンテンツ:コンテンツリビジョンのリビジョンNID」関係を追加します。これも「コンテンツリビジョン:コンテンツ」というラベルが付いていますが、node.nid の代わりに node.vid
  3. [フィルター]セクションから、[コンテンツ:公開済み(はい)]フィルターを削除します。 「ワークベンチのモデレーション:現在」フィルターに置き換え、「はい」に設定します。先ほど作成した新しい関係に関連付けないでください(「関係を使用しない」)。
  4. エンティティフィールドを追加するときは、「コンテンツ」フィールドだけでなく、「コンテンツ(履歴データ)」フィールドを使用します。

このアプローチはこれまでのところ私のニーズに合っているようです。

編集:振り返ってみると、ノードごとに1つのリビジョンのみを表示する必要があるとは思えないため、結局、私はあなたと同じ問題をまったく抱えていませんでした。しかし、誰か他の人が最終的に役立つと思った場合に備えて、私は答えを残しておきます。

3