我的问题非常简单:如何使用规则模块检查用户当前的用户点数量是否为负值?我想创建一个应该在用户被授予用户点数时激活的操作。事件已设定,但我不知道如何设定条件。
编辑:我启用了PHP过滤器模块,以便在规则的条件下获得“执行自定义PHP代码”选项。 (我之前不知道我必须做this ...)我使用此代码来检查用户的用户点是否为负数:
global $user;
$num_pts = userpoints_get_current_points($user->uid, 'all');
$neg_pts = $num_pts < 0;
不幸的是,即使用户点数量为负数,它也总是被评估为“假”。我也试过这个:
$num_pts = userpoints_get_current_points([userpoints-transaction:user]->uid, 'all');
$neg_pts = $num_pts < 0;
但这也不起作用(同样的原因)。在这两种情况下我都没有收到任何错误消息。
这些代码段是否有误?正确的看起来怎么样?
答案 0 :(得分:0)
我找到了正确的代码:
global $user;
$num_pts = userpoints_get_current_points($user->uid, 'all');
if ($num_pts < 0) {return TRUE;}
只需在执行自定义PHP代码条件中使用此代码段即可。就这么简单!