如何限制用户获得的用户点数量?

时间:2013-10-03 09:15:37

标签: drupal-7 flags drupal-rules userpoints

我的内容类型'内容'与领域'价值' (整数)和一个标记为“发布内容”和“向用户授予点”的标记。每次使用此标记标记内容时,我都希望向内容作者授予一些用户点数,等于“值”中的值。字段,但最多为5。

我对最高5'有疑问。条件。我制定了2个单独的规则,附加条件'数据比较':一个带[flagged-node:field-value低于6],另一个带[flagged-node:field-value大于5] 。 (请注意,我可以选择"字段值"此处!)是否可以只用一条规则执行此操作?

注意:我也遇到了问题'价值'领域。请参阅:Grant user User Points equal to value of certain field

1 个答案:

答案 0 :(得分:2)

我为我的问题找到了解决方案;也许它也可以帮助别人。我实际创建了一个“更正”规则,该规则在用户获得用户点并且“内容”节点标记为“发布内容并向用户授予点数”后激活。这就是我设置规则的方式:

<强> EVENT

  • 用户获得了用户点
  • 已在“发布内容并向用户授予点数”
  • 下标记了一个节点

然后,我检查了点数是否高于5。

<强>条件

  • 数据比较:[userpoints-transaction:points]大于5

最后,我计算了添加的用户点与5之间的差异,并从用户的用户点中减去了该值。

操作

  • 计算值:[userpoints-transaction:points]“ - ”5(变量名称:差异)
  • 计算值:[difference]“*”-1(变量名称:substract)
  • 向用户授予积分:授予[userpoints-transaction:user] substract积分

我必须插入第二个计算,否则,我无法从用户的用户点中减去“差异”。