1

我的问题很简单:如何使用规则模块检查用户当前的用户点数是否为负数?我想创建一个在授予用户用户积分时应该激活的操作。事件已设置,但我不知道如何设置条件。

编辑:我启用了 PHP 过滤器模块,以便在我的规则条件中获得“执行自定义 PHP 代码”选项。(我之前不知道我必须这样做......)我使用这段代码来检查用户的用户积分是否为负:

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;

但这也不起作用(同样的原因)。在这两种情况下,我都没有收到任何错误消息。

这些代码片段错了吗?正确的看起来如何?

4

1 回答 1

0

我找到了正确的代码:

global $user;
$num_pts = userpoints_get_current_points($user->uid, 'all');
if ($num_pts < 0) {return TRUE;}

只需在执行自定义 PHP 代码条件中使用此代码段。就这么简单!

于 2013-11-21T13:41:40.333 回答