ユーザーがノードにコメントしたときにユーザーにユーザーポイントを付与するルールを作成しました。ただし、これらのポイントは、ユーザーごと、ノードごとに1回だけ付与したいと思います。つまり、そのノード上の同じユーザーからの今後のコメントによって余分なポイントが発生することはありません。
どうやってやるの?
フラグモジュールで問題を解決しました。「このノードでコメント」と「最初の反応」*と呼ばれるフラグと「ノードでコメント」と呼ばれるルールを作成しました。これらは私のルールの設定です:
EVENTS:新しいコメントを保存した後
条件:
[comment:node]
、コンテンツタイプ:記事[comment:node]
、確認するユーザー:[comment:author]
アクション:
[comment:author]
、ポイント:2、ポイントカテゴリ:反応、エンティティ:[comment:node]
、説明:新しい反応、操作:追加、表示:false、中程度:自動的に承認[comment:node]
、フラグを立てるユーザー:[comment:author]
、権限チェックをスキップ:false[comment]
、フラグを立てるユーザー:[comment:author]
、権限チェックをスキップ:falseそのため、ユーザーが特定のノードに初めてコメントを追加するたびに、ノードには「ノードにコメント」というフラグが設定され、反応には「最初の反応」というフラグが設定され、コメントを追加したユーザーには2ポイントが付与されます。
** 関連する質問 で「最初のコメント」フラグを使用します。*