web-dev-qa-db-ja.com

ノード参照ターゲットでのはい/いいえ評価

(ノード)製品コンテンツタイプを参照するレビューコンテンツタイプがあります。全体的な評価と特定の評価にファイブスター評価を使用しています。 fivestarを使用して、製品を「投票ターゲット」にすることができます。

評価の1つは、「はい/いいえ」タイプの評価で、製品ノードで集計を表示します(ユーザーのx%が「はい」と評価します)。

「1ポイント」の評価で「1 =はい」、「0 =いいえ」のファイブスターを使用しようとしましたが、問題は0票がまったく保存されないため、常に100%の結果になるということです。

私はおそらく「2ポイント」の評価を使用して、計算を行い、それを正しい%に変換するカスタムディスプレイフォーマッターを用意することができます。

他の解決策はありますか?評価モジュールは「評価の高低」にすでに使用しているため、使用できません。

8
uwe

レートモジュール を使用すると、コンテンツタイプに複数のレートウィジェットをアタッチできます。グッド/ダウンの親指とイエス/ノーの2番目のレートウィジェットを1つ作成します。

Drupal Commons Distribution with Commons Q&Aには、このようにLikeおよびPointsシステムの両方が含まれています...

enter image description here

2番目のウィジェットを追加するときに、同じコンテンツタイプにアタッチすることを選択します。 enter image description here

1
Brent

フラグの拡張では、 Rate を使用できます。それはあなたのニーズに合うはずです(はい/いいえフラグでノードを評価し、パーセンテージデータにその結果を取得します)

1
Ben Cassinat

私は非常によく似た問題に取り組んでおり、Fivestar、Rate、Flagなどを使用してレンガの壁にぶつけました。私はファイブスターの「投票ターゲット」機能を探していたが、ノードとコメントがレビューとして追加されたYelpスタイルのインターフェースの投票アップ/ダウンウィジェットのシンプルさを探していたので、数ヶ月後にグーグルを通じてここにたどり着きました。

私は投票アップ/ダウンウィジェットと ここのアドバイスに従います Drupal.orgのモジュールメンテナーmarvil07から、ノードフォーム内ではなくコメントフォームでウィジェットをレンダリングしました:

  • 必要なノードタイプのコメントを有効にします。
  • 必要なノードタイプに1つのvud_fieldフィールドを追加します。
  • Vud_fieldフィールドフォーマッタを非表示に設定します。
  • コメントフォーム(通常)とノードタイプ(読み取り専用オプションを使用)に投票ウィジェットを手動でレンダリングします。

これは、フィールドがAJAX=ウィジェットとしてレンダリングされ、正しいノードに対する投票を記録するために必要なすべての情報が含まれているため、正常に機能します。これの正確な実装は、私の投票アップ/ダウンフィールド 'field_rating':

function MYTHEME_form_comment_form_alter(&$form, &$form_state) { 

  if ($form["#form_id"] == "comment_node_MY_Yelp_KNOCKOFF_form") { 

    $node = node_load($form["#entity"]->nid);
    $field = field_view_value('node', $node, 'field_rating', $node->field_rating[$node->language][0]); 
    $vud_render = render($field);

    $form["voteupdown"] = array(
      '#markup' => $vud_render,
      '#weight' => 0,
    ); 

  }

}
0
schnippy