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

Drupal 7 如何限制用户获得的用户点数?,drupal-7,flags,drupal-rules,userpoints,Drupal 7,Flags,Drupal Rules,Userpoints,我有一个内容类型'content',字段'Value'(一个整数)和一个名为'Publish content and grant points to user'的标志。每次使用此标志标记内容时,我都会向内容的作者授予一些用户点,等于“值”字段中的值,但最大值为5 我有一个关于“最大5”条件的问题。我用额外的条件“数据比较”制定了两个单独的规则:一个是[flagged node:field value小于6],另一个是[flagged node:field value大于5]。(请注意,我可以在这

我有一个内容类型'content',字段'Value'(一个整数)和一个名为'Publish content and grant points to user'的标志。每次使用此标志标记内容时,我都会向内容的作者授予一些用户点,等于“值”字段中的值,但最大值为5

我有一个关于“最大5”条件的问题。我用额外的条件“数据比较”制定了两个单独的规则:一个是[flagged node:field value小于6],另一个是[flagged node:field value大于5]。(请注意,我可以在这里选择“字段值”)难道不可能只使用一条规则就可以做到这一点吗


注意:我对“值”字段也有问题。请参阅:。

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

事件

  • 用户获得用户积分
  • 已在“发布内容并向用户授予点数”下标记节点
然后,我检查点数是否高于5

条件

  • 数据比较:
    [userpoints transaction:points]
    大于
    5
最后,我计算了添加的userpoints和5之间的差值,并从用户的userpoints中减去该值

行动

  • 计算一个值:
    [userpoints transaction:points]
    “-”
    5
    (变量名称:差异)
  • 计算一个值:
    [difference]
    “*”
    -1
    (变量名:substract)
  • 向用户授予点数:授予
    [用户点数交易:用户]
    减分
我必须插入第二个计算,因为否则,我无法从用户的用户点中减去“差异”