web-dev-qa-db-ja.com

クイズの質問に正しく回答した後にユーザーポイントを付与するにはどうすればよいですか?

ユーザーポイント モジュールを有効にしており、 ルール モジュールを使用して、ユーザーが質問に正しく回答したときにユーザーがユーザーポイントを獲得できるルールを作成します。

ルールイベントとルール条件として何を配置すればよいかわかりません。

答えが正しい場合にのみユーザーがユーザーポイントを獲得するように指定するにはどうすればよいですか?

2
13junemadrid

クイズ7.x-5.xを使用している場合

7.x-5.x-rc3バージョンQuiz モジュールを使用していると仮定すると、この新しいリリースに付属する Rules モジュールとの統合。

これを行うには、 で配信されるルール を確認します。

{ "rules_send_results_at_the_end_of_a_quiz" : {
    "LABEL" : "Send quiz results at the end of a quiz",
    "PLUGIN" : "reaction rule",
    "ACTIVE" : false,
    "OWNER" : "rules",
    "TAGS" : [ "quiz" ],
    "REQUIRES" : [ "rules", "entity" ],
    "ON" : { "quiz_result_update" : [] },
    "IF" : [
      { "data_is" : { "data" : [ "quiz-result-unchanged:is-evaluated" ], "value" : "0" } },
      { "data_is" : { "data" : [ "quiz-result:is-evaluated" ], "value" : "1" } }
    ],
    "DO" : [
      { "mail" : {
          "to" : [ "quiz-result:uid:mail" ],
          "subject" : "[site:name]: Your results for [quiz-result:nid:title]",
          "message" : "[quiz-result:uid:name],\r\n\r\nYou finished the quiz [quiz-result:nid:title] on [quiz-result:time-start]\r\n\r\nYour score: [quiz-result:score]%\r\n\r\nYou can access the result here: [site:url]node\/[quiz-result:nid:nid]\/quiz-results\/[quiz-result:result-id]",
          "language" : [ "" ]
        }
      },
      { "mail" : {
          "to" : [ "quiz-result:nid:author:mail" ],
          "subject" : "[site:name]: [quiz-result:uid:name]\u0027s results for [quiz-result:nid:title]",
          "message" : "[quiz-result:nid:author:name],\r\n\r\n[quiz-result:uid:name] finished the quiz [quiz-result:nid:title] on [quiz-result:time-start]\r\n\r\nTheir score: [quiz-result:score]%\r\n\r\nYou can access the result here: [site:url]node\/[quiz-result:nid:nid]\/quiz\/results\/[quiz-result:result-id]\/view",
          "language" : [ "" ]
        }
      }
    ]
  }
}

Rules (およびルールUI、そのサブモジュール)を有効にした後、(ルールUIを使用して)上記のルールを複製し、両方のルールアクションをルールアクションに置き換えて、 [quiz-result:score]に関連付けることができるユーザーポイントの量(このトークンは上記のルールの例(ルールアクション内)にも表示されていることに注意してください)。

Rules を使用してユーザーポイントを付与する方法に慣れていない場合は、「 のみにユーザーポイントを付与する方法」の回答を確認してください。ノードの変更は少なくとも20日前に最後に変更されましたか? "(これを実現するためのルールの例も含まれています)。

クイズ7.x-4.xを使用している場合

7.x-4.xバージョンQuiz モジュールの場合、 patch from fago (aka Rules maestro ...)、 issue#1300420 、そのような説明があります(その最後のフレーズに注意してください...):

...基本的なルールの統合をクイズに追加します。これには、ユーザーがクイズの受験を終了したときのイベント、ユーザーが特定のクイズに合格したかどうかを確認する条件、ユーザーのクイズの結果をクリアするアクションが含まれます。

パッチは私のために働きます。

2
Pierre.Vriens