フィールド「値」(整数)と「コンテンツの公開とユーザーへのポイントの付与」というフラグを持つコンテンツタイプ「コンテンツ」があります。コンテンツにこのフラグのフラグが立てられるたびに、コンテンツの作成者に、[値]フィールドの値と同じで、最大5つのユーザーポイントを付与したいと思います。
「最大5」の状態について質問があります。 「データ比較」という追加条件を使用して、2つの別個のルールを作成しました。1つは[flagged-node:field-valueが6未満]で、もう1つは[flagged-node:field-valueが5より大きい]です。 (ここで「フィールド値」を選択できることに注意してください!)これを1つのルールだけで実行することはできませんか?
注:「値」フィールドにも問題があります。参照: 特定のフィールドの値に等しいユーザーユーザーポイントを付与する 。
私は自分の質問に対する解決策を見つけました。多分それは他の人も助けることができます。私は実際に、ユーザーにユーザーポイントが付与され、「コンテンツ」ノードに「コンテンツの公開とユーザーへのポイントの付与」のフラグが付けられた後にアクティブ化される「修正」ルールを作成しました。これが私がルールを設定する方法です:
[〜#〜]イベント[〜#〜]
次に、ポイント数が5を超えているかどうかを確認しました。
[〜#〜]条件[〜#〜]
[userpoints-transaction:points]
より大きい 5
最後に、追加されたユーザーポイントと5の差を計算し、この値をユーザーのユーザーポイントから差し引きました。
[〜#〜]アクション[〜#〜]
[userpoints-transaction:points]
"-" 5
(変数名:違い)[difference]
"*" -1
(変数名:減算)[userpoints-transaction:user]
substract
ポイント2番目の計算を挿入する必要がありました。そうしないと、ユーザーのユーザーポイントから「差」を差し引くことができなかったためです。