drupal规则用户帐户不变

时间:2013-09-11 01:48:29

标签: drupal drupal-7 drupal-rules

我正在使用Drupal 7 + Rules 2,并希望创建一个规则,当用户的角色从一个角色更改为另一个角色时,向用户显示一条消息。我正在尝试在数据比较条件下使用“帐户未更改”,但没有任何运气。我的配置如下,但使用“未更改”功能对我来说很陌生,我不确定我是否在正确的轨道上。

  • EVENT:更新现有用户帐户后
  • 条件:
    • 数据比较 - 帐户未更改:角色等于 RoleA
    • 数据比较 - 帐户:角色等于 RoleB
  • 行动:在网站上显示消息=角色已更改!!!

如前所述,在将具有RoleA的用户更新为具有RoleB时,这不会产生任何结果,并且在规则调试器中,条件始终被评估为FALSE。

如果有一种替代/更好的方法来实现这一目标,我将很高兴能够切换到正确的轨道:)

非常感谢!

2 个答案:

答案 0 :(得分:2)

能够回答我自己的问题!

  • EVENT:更新现有用户帐户后
  • 条件:
    • 数据>列表包含项目 - 列表:帐户未更改:角色,ITEM RoleA
    • 数据>列表包含项目 - 列表:帐户:角色,ITEM RoleB
  • 行动:在网站上显示消息=角色已更改!!!

如果您在角色从一个角色更改为另一个角色时特别想要一条消息,而不是简单地添加,请添加另一个条件但是NEGATE。在我的例子中,我会添加:

  • 数据>列表包含项目 - 列表:帐户未更改:角色,项目角色B(检查NEGATE)
  • 数据>列表包含项目 - 列表:帐户:角色,项目角色A(检查NEGATE)

请参阅https://groups.drupal.org/node/94379#comment-631148以供参考。我一直专注于那里的VBO答案,并结合这种方法使用这个评论,但仍然遇到麻烦。刚想到要自己看一下......瞧!

希望这有助于某人!

答案 1 :(得分:1)

除了arikiera的回答,如果您想检查用户是否已撤销角色,您可以使用:

  • 数据>列表包含项目 - 列表:帐户未更改:角色,ITEM RoleA
  • 数据>列表包含项目 - 列表:帐户:角色,项目角色B(检查 NEGATE)

我用它来向子用户模块添加一些规则,如果父用户的角色被撤销,它将从父用户的子用户中删除特定角色。如果您要构建具有可以添加自己的子用户的公司帐户的站点,这将非常有用。