1

我有一个内容类型和登录用户对其进行投票的可能性。节点上有 5 个不同的五星级投票(类别)。现在我想添加用户点,并想问是否有可能当用户投票时,他在节点上的每一次投票都会得到 1 分,如果他在每个类别中投票,就可以得到 5 分。他有可能稍后改变投票,但他不应该再得到任何分数。这可能吗?

打招呼

4

1 回答 1

0

虽然看起来没有实现此目标的现有 7.x 或 8.x 模块,但您应该可以通过两种方式来实现您的目标:

  • 写一个模块。Userpoints API 有很好的文档记录,应该可以创建一个模块来在修改五星级字段时增加用户的用户点计数。为避免重复,请注意此字段看起来应该完成您正在寻找的重复数据删除(假设您设置txn_id为当前节点 ID、字段 ID 和用户 ID 的某种组合:

'txn_id' => (int) Transaction ID of a current points record. If present an UPDATE occurs

  • 使用规则。userpoints 模块与 Rules 集成,因此您应该能够在不编写任何代码的情况下完成您的 userpoints 用例。根据用户积分规则集成说明,您可以将当前用户积分与交易前的积分数进行比较:

Compare Userpoints before the transaction - This condition is used to compare the amount of userpoints the user had before the userpoints was added to/deducted from the user against a specified value. - The 'Amount to compare' value is checked as >= (greater than or equal to) and the Negate checkbox will change the condition to < (less than) as it will be any value other than >=. If you would like to get an exact value, say 1, you can add two of the condition to use >= and < to specify one number. Simple math stuff here =)

我希望这有帮助。让我知道事情的后续!

于 2014-03-25T10:21:34.117 回答