web-dev-qa-db-ja.com

賛成票ごとにユーザーポイントを追加する

私のdrupal 7サイトには、作成者のコンテンツに対するユーザー評価システムがありますが、問題は、すべての賛成投票と反対投票がユーザーのプロファイルにポイントを自動的に追加しないことです。しかし、それは可能だと思います ユーザーポイントモジュール による ユーザーポイントカルマ モジュールページから 投票/上へ モジュールは、有権者がポイントをポイントに追加または削除できることを学びました特定のノードまたはコメントの作成者。これにより、彼らが書いたものに対して著者に裁定または罰を与えます。
それで、 vote/up down モジュールを正常に構成しました。これは私のウェブサイトのビューのスクリーンショットです:
enter image description here
今私の質問は、 vote/up down moduleser Points module を使用して、投票のためにポイントを自動的に追加する方法ですか?したがって、ユーザーがコンテンツに投票した場合、そのコンテンツ作成者のユーザーポイントは10 + 5 = 15になります。 {ここで10はコンテンツ作成者の以前のユーザーポイントであり、5はすべての賛成票の値です!}自動的に行う方法がわかりません。何か案は?ありがとう

8
rakibtg

投票APIにルールを追加するモジュールがあります: http://drupal.org/project/voting_rules

serpoints には、ネイティブルールがサポートされています。

私はテスト環境にすべてを設定し、新しいルールを追加しました

Event: User votes on a Node

Condition: User has role(s)
Parameter: User: [vote:user], Roles: authenticated user

Condition: Check the value of the vote
Parameter: Vote: [vote], Operator: is greather than, Data value: 0

Action
Grant points to a user
Parameter: User: [vote:user], Points: 5, Points category: General, Operation: Insert, Moderate: Use the site defaul

追加情報:userpointsおよびuserpoints_rulesおよびvoting_rules

これがルールのエクスポートです

{ "rules_reward_voter" : {
    "LABEL" : "reward voter",
    "PLUGIN" : "reaction rule",
    "REQUIRES" : [ "rules", "voting_rules", "userpoints_rules" ],
    "ON" : [ "voting_rules_insert_node" ],
    "IF" : [
      { "user_has_role" : { "account" : [ "vote:user" ], "roles" : { "value" : { "2" : "2" } } } },
      { "voting_rules_condition_check_vote_value" : { "vote" : [ "vote" ], "operator" : "\u003E", "value" : "0" } }
    ],
    "DO" : [
      { "userpoints_action_grant_points" : {
          "user" : [ "vote:user" ],
          "points" : "5",
          "tid" : "0",
          "entity" : [ "" ],
          "operation" : "Insert",
          "display" : 1,
          "moderate" : "default"
        }
      }
    ]
  }
}
6
Andre Baumeier