1

我正在使用 Drupal 7、规则、分类术语(因此用户可以表明他的兴趣)和有机组,我需要人们通过在个人资料页面上选择和取消选择分类术语/兴趣来订阅和取消订阅。

各个分类术语上有一个 OG 参考字段,因此可以知道哪个组与哪个分类术语相关以及用户需要订阅的位置。通过使用“按 id 获取实体”,当一个人在规则中选择分类术语时,我也会得到正确的组。

保存新帐户后:

当人们注册时,他们可以在注册页面上选择他们的兴趣(分类术语),他们会自动订阅相应的组。这工作正常。

个人资料编辑页面:

但是当有人想在编辑个人资料页面上取消订阅(并再次订阅)时,我无法让它工作。

知道如何通过选中/取消选中“更新配置文件后”上的分类术语来实现用户自动(取消)订阅正确的组吗?

我已经尝试使用条件规则(https://www.drupal.org/project/rules_conditional),但它似乎被放弃了(最后一个测试版是 2 年前)。大约有 8 个组,所以我尝试了带有 switch-case 语句的模块,但它显示了一条错误消息(指示错误)。

感谢您对此的任何想法!

4

1 回答 1

0

约翰又做到了!

大部分答案都在Johan的规则大师 Level up中。

基本上,需要创建两个规则(一个用于将人员添加到组,一个用于从组中删除人员),它们采用 3 个参数:未更改的用户、更新的用户和分类术语(在调用中循环规则)。将未更改的用户列表与更新的用户列表进行比较,并根据结果从组中订阅或删除用户。

在第一条规则(事件:“帐户更新后”)中,您调用“添加到组”规则,在第二条规则中,您调用“从组中删除”规则。

于 2014-07-19T11:46:23.327 回答