0

フィールド「値」(整数)と「コンテンツを公開してユーザーにポイントを付与する」というフラグを持つコンテンツタイプ「コンテンツ」があります。コンテンツにこのフラグが付けられるたびに、コンテンツの作成者に「値」フィールドの値に等しいユーザー ポイントを付与したいと思いますが、最大 5 です。

「最大 5」条件について質問があります。追加の条件「データ比較」を使用して 2 つの個別のルールを作成しました。(ここで「field-value」を選択できることに注意してください!) たった 1 つのルールでこれを行うことはできませんか?

注:「値」フィールドにも問題があります。参照:特定のフィールドの値に等しいユーザー ポイントをユーザーに付与します

4

1 に答える 1

2

私の質問に対する解決策を見つけました。他の人にも役立つかもしれません。ユーザーにユーザーポイントが付与され、「コンテンツ」ノードに「コンテンツを公開してユーザーにポイントを付与する」というフラグが立てられた後にアクティブ化される「修正」ルールを実際に作成しました。これは私がルールを設定する方法です:

イベント

  • ユーザーにユーザーポイントが付与されました
  • 「コンテンツを公開し、ユーザーにポイントを付与する」の下で、ノードにフラグが付けられました

次に、ポイント数が 5 より多いかどうかを確認しました。

条件

  • データ比較:[userpoints-transaction:points]より大きい5

最後に、追加されたユーザーポイントと 5 の差を計算し、この値をユーザーのユーザーポイントから差し引きました。

行動

  • 値を計算する: [userpoints-transaction:points]"-" 5(変数名: difference)
  • 値を計算する: [difference]"*" -1(変数名: substract)
  • ユーザーにポイントを付与する: ポイントを付与[userpoints-transaction:user] substractする

そうしないと、ユーザーのユーザーポイントから「差」を差し引くことができなかったため、2 番目の計算を挿入する必要がありました。

于 2013-10-03T09:16:31.070 に答える