web-dev-qa-db-ja.com

特定のフィールドの値/計算値と等しいユーザーユーザーポイントを付与するにはどうすればよいですか?

「値」フィールド(整数)のコンテンツタイプ「コンテンツ」があります。 コンテンツが公開されているのたびに、私はコンテンツの作成者に[値]フィールドの値に等しいユーザーポイントをいくつか付与しますを希望します。

次のように、Rulesモジュールを使用して問題の最初の部分を解決してみました。

*Event: A node has been published

*Conditions: Content is of type 'Content'

*Actions: Grant points to a user: ...

ただし、[ポイント]セクションでnode:field-valueを選択することはできません。私も試しました:

*Event: A node has been published

*Conditions: Content is of type 'Content'

*Actions:

 - Calculate a value: `[node:field-value]` "+" 0. (Variable name = result)

 - Grant points to a user: ...

ただし、変数 'result'は使用できません。この問題を解決するにはどうすればよいですか?

1
Jeroen

ようやく解決策を見つけました! 2番目のシナリオ(ユーザーポイントの量が計算されます)を無事完了しました!どうやら、ユーザーポイントモジュールは計算が整数であることを知りませんでした。したがって、追加のアクションを追加する必要がありましたデータ型の変換ターゲットタイプ:整数、変換する値:[結果]、丸め動作:常にダウン。私はそれを「合計」と呼び、ユーザーにこの量のユーザーポイントを付与しました。

2
Jeroen

serpointモジュールを使用して達成できるのと同じ:userpointモジュールは、ユーザーが特定のアクションを実行するためにポイントを取得または失うためのAPIを提供しますあなたのサイトで。

User Pointsモジュールとuserpoints_basicモジュールは、ユーザーが次のような特定のアクションを実行したときにポイントを獲得する機能を提供します。

  • ノードを投稿する(ページ、ストーリー、フォーラム、画像など、さまざまなノードタイプに対して異なるポイントが付与される場合があります)
  • コメントを投稿する
  • コメントのモデレート

ノードまたはコメントが削除されると、以前に獲得したポイントが差し引かれます。ノードまたはコメント作成者が変更されると、ポイントがそれぞれ転送されます。

上記の各アクションのポイント数はサイト管理者が設定でき、トランザクションログはポイントごとに作成されます(銀行口座と同様)。

Uerpointsモジュールドキュメント: https://drupal.org/documentation/modules/userpoints

ユーザーポイントルール統合ドキュメント: https://drupal.org/node/873386

要件に従ってrulesを構成するためのリンク: https://drupal.org/node/87439

0
Ankit Agrawal