Drupal 7(Un)通过(取消)选择个人资料编辑页面上的分类术语为用户订阅组
Posted
技术标签:
【中文标题】Drupal 7(Un)通过(取消)选择个人资料编辑页面上的分类术语为用户订阅组【英文标题】:Drupal 7 (Un) Subscribing user to groups by (de)selecting taxonomy terms on profile edit page 【发布时间】:2014-07-15 08:33:35 【问题描述】:我正在使用 Drupal 7、规则、分类术语(因此用户可以表明他的兴趣)和有机组,我需要人们通过在个人资料页面上选择和取消选择分类术语/兴趣来订阅和取消订阅。
各个分类术语上有一个 OG 参考字段,因此可以知道哪个组与哪个分类术语相关,以及用户需要订阅的位置。通过使用“按 id 获取实体”,当人们在规则中选择分类术语时,我也会得到正确的组。
保存新帐户后:
当人们注册时,他们可以在注册页面上选择他们的兴趣(分类术语),他们会自动订阅相应的组。这很好用。
个人资料编辑页面:
但是当有人想在编辑个人资料页面上取消订阅(并再次订阅)时,我无法让它工作。
知道如何通过选中/取消选中“个人资料更新后”上的分类术语来实现用户自动(取消)订阅正确的组吗?
我已经尝试过使用条件规则 (https://www.drupal.org/project/rules_conditional),但它似乎被放弃了(最后一个测试版是 2 年前)。大约有 8 个组,所以我尝试了带有 switch-case 语句的模块,但它显示了一条错误消息(指示错误)。
感谢您对此的任何想法!
【问题讨论】:
【参考方案1】:约翰又做了一次!
大部分答案都在 Johan 的 Rules master Level up 中。
基本上,需要创建两个规则(一个用于将人员添加到组,一个用于从组中删除人员),它们采用 3 个参数:未更改的用户、更新的用户和分类术语(正在循环在调用规则中)。未更改的用户列表与更新的用户列表进行比较,根据结果,用户被订阅或从组中删除。
在第一条规则(事件:“更新帐户后”)中,您调用“添加到组”规则,在第二条规则中,您调用“从组中删除”规则。
【讨论】:
以上是关于Drupal 7(Un)通过(取消)选择个人资料编辑页面上的分类术语为用户订阅组的主要内容,如果未能解决你的问题,请参考以下文章