用户登录

这个视频我们设计一个规则,当用户积分超过 20 分以后,为给用户添加高级会员的角色,同时添加计划任务,在未来一个月内移除掉用户的高级会员角色。

下面我们来看一下。我们可以先去创建一个新的用户角色 ... 点击 用户 .. 权限 ... 角色 .. 输入角色的名称 ... 高级会员 .. 添加角色 ...

下面你可以给新添加的高级会员这个角色添加一些特殊的权限 ...

规则

下面我们再去创建规则 .. 配置 .. 规则 .. 添加新规则 .. add_user_role_to_user_if_they_have_enough_points .. 编辑 ..

再输入 获得足够多的积分后给用户添加用户角色 .. 触发这个规则的事件 .. 选择 用户获得积分 .. 点击 保存 ..

然后我们可以添加规则的条件,还有要执行的动作 .. 执行的动作就是给用户添加 高级会员 这个角色,同时扣除用户 20 个积分 ..

要验证的条件,可以判断一下用户的角色 .. 如果用户不是高级会员,那么就去执行规则里的动作 .. 下面我们先来添加这个条件 ..

添加条件 .. 选择 用户的角色 .. 用户 这里选择 积分交易 .. 再选择 用户 .. 意思是,我们要判断的用户是获得积分的这个用户 ..

角色 .. 选择 高级会员 .. 再勾选一下 否定 .. 意思是,获得积分的用户不是高级会员 .. 点击 保存 ...

下面我们要判断一下获得积分的用户的总积分是不是大于 20 分,如果大于 20 分,就给这个用户添加高级会员的角色 ...

不过默认情况下,没有可以判断用户积分的条件 ... 解决这个问题的方法是,我们可以创建一个规则集的组件 ... 在这个规则集里,先添加一个规则,载入用户的积分 .. 然后在再添加一条规则 .. 在这条规则里,我们就可以使用前一条规则获得的用户积分做为判断的条件了 ...

组件

先保存一下这条规则 .. 然后回到规则的管理界面 .. 点击 组件 .. 添加组件 .. 我们要创建一个规则集的组件 ... 就是这个组件里可以包含几个规则 ...

选择 规则集 .. 点击 继续 ..

输入名称 ..20 points add new role to user ,编辑 .. 再输入组件的中文名 .. 20 个积分为用户添加新的角色

在 变量 里,选择在这个组件里要用到的东西 .. 选择 用户 ... 标签 可以使用中文 .. 用户 ... 机读名称 .. 输入 account ...

然后点击 继续 ..

在这个规则集组件里,先输入一条载入用户积分的规则 .. 添加规则 ..

输入规则的名称 .. 载入用户积分 .. 在这个规则里,我们可以添加一个动作 .. 添加动作 .. 选择 载入一个用户的积分 ..

用户 这里,选择要载入积分的用户 .. 选择 account ... 积分类别 选择 所有分类 .. 然后点击 保存 ..

下面我们再添加一条规则 .. 添加规则 .. 输入名称 .. 比较积分数并为用户添加高级会员角色

先添加一个条件 .. 添加条件 .. 条件的类型是 数据比较 .. 要对比的数据 选择 loaded points .. 这个选项就是刚才添加的那个规则获取到的用户的积分 ...

点击 继续 .. 操作符 选择 大于 .. 数据值 输入 20 .. 意思是,如果用户的积分大于 20 分。 点击 保存 ..

下面我们需要再添加三个条件 .. 首先是要给用户添加高级会员用户角色 .. 然后是从用户积分里扣除 20 分 .. 再就是我们要在 1 个月以后自动移除用户的高级会员角色 ..

添加条件 .. 选择 添加用户角色 .. 要添加用户角色的用户 选择 account .. 角色 选择 高级会员 .. 点击 保存 ..

下面我们再添加扣除用户积分的动作 .. 添加动作 .. 给用户积分 .. 继续 ..

用户选择 account .. 积分 输入 -20 .. 这样会扣除掉用户 20 个积分 ... 分类是默认的 General ...

再添加一个描述 ... 添加高级会员角色,扣除 20 个积分。 操作 输入 扣除 ..

下面的 暂缓 .. 选择 自动批准 .. 然后点击 保存 ...

计划删除角色

最后我们要添加一个计划删除高级会员角色的动作 .. 我们需要再去创建一个组件 .. 先保存一下 ... 然后回到 组件 ..

添加新组件 ... 选择 动作集 ... 继续 .. remove user role from user .. 删除用户角色 ...

添加动作 ... 选择 移除用户角色 ... 要移除用户角色的用户是 account ... 要移除的角色是 高级会员 .. 保存 .。

再回到 20 个积分为用户添加新的角色 这个组件 ... 编辑一下 比较积分数并为用户添加高级会员角色 这个规则 ..

添加动作 .. 选择 计划任务 ...

组件 选择 删除用户角色 ... 继续 .. 计划执行的时间 ... 先切换到数据选择器 ... 选择 站点信息 ... 当前日期 ..

再打开 添加偏移 .. 输入 +1 ,后面的单位选择 月 ... 意思就是,在当前日期的一个月以后执行 删除用户角色 这个动作 ..

下面的 account 选择 account ... 配置一个标识符 .. 输入 移除 [account:name] ( [account:uid] )高级会员角色 ... 然后点击 保存 ..

继续配置

下面我们再回到最开始添加的响应规则 .. 获得足够多的积分后给用户添加用户角色...

在里面再添加一个动作 .. 选择 20 个积分为用户添加新的角色 这个规则集组件作为动作 ..

用户 选择 积分交易 .. 用户 .. 意思就是我们要添加用户角色,扣除积分,计划删除用户角色的用户是获得积分的这个用户。

点击 保存 ..

测试

下面我们可以测试一下 ... 打开 配置 .. 管理积分 .. 添加积分交易 .. 用户名 输入 小雪 .. 积分 输入 30 ..

然后点击 保存 ..

这样我们可以直接给小雪这个用户 30 个积分 .. 这个给用户规则的事件 .. 会触发我们设置的规则 .. 打开 用户 .. 你会看到 小雪 这个用户,已经有了一个 高级会员 的角色 ...

再打开小雪的帐户页面 .. 点击 积分 ..

你会看到,通过管理员,给小雪 30 个积分,然后又扣除掉了 20 个积分用来给小雪添加高级会员角色 ...

再打开 配置 .. 规则 .. 计划任务 .。

在这里,会有一条在一个月以后要执行的任务,移除小雪的高级会员角色 ...

用户积分到一定数量以后自动为用户分配新的用户角色 - 规则集《 Drupal Rules 自动化操作 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点