web-dev-qa-db-ja.com

ノードID別にビュー結果に投票を表示する方法は?

モジュール「rate(投票ウィジェット)」と「voting api」をインストールしました。これらのモジュールは非常にうまく機能します。ビューを使用してノードのリストを取得し、投票結果を追加しました。各ノードではなく、各投票の行を取得します...

ビューの行:

Node 1  --  angry: 1  happy: 1
Node 1  --  angry: 1  happy: 1

Node 2  --  angry: 1  happy: 0

Node 3  --  angry: 0  happy: 1

結果をノードIDでグループ化したいのですが、うまくいきません。この問題の最も簡単な解決策は何でしょうか?

1

カスタムモジュールで hook_query_alter() を使用できます。コードは次のようになります。

function MODULENAME_query_alter(&$query) {
  if(!empty($query->alterMetaData['view']->name) && $query->alterMetaData['view']->name == 'VIEWNAME'){
    $query->groupBy("node.nid");
  }
}
1
Victor

最も簡単な方法は、ビュー/投票APIで組み込みの集計関数を使用することです。 [詳細]タブで[関係]を選択し、投票結果に基づいて関係を追加します。

Content: Vote results
Aggregate results of votes cast on Node.

設定ページでは、総投票数、総得点を集計するか、平均を探すかを選択できます。

0
schnippy