Drupal 7 VBO更新用户不起作用

时间:2016-11-07 18:04:39

标签: drupal drupal-7 drupal-views

我已经以编程方式创建了一个操作,并将一个VBO添加到视图中,以便对一个或多个用户执行操作。该操作本身只删除了一些角色,并为所选用户添加了新角色。我从操作中调用user_save来保存对角色的更改。

如果我在操作运行时查看数据库中的user_roles表,我可以看到特定用户的角色ID,实时更改为新角色。但是,当VBO完成时,它似乎恢复到原始用户对象,以便没有删除任何旧角色并且尚未添加新角色。它必须是我的行动执行后发生的事情,但我无法想象它是什么。

奇怪的是,如果我第二次运行VBO,它似乎有效。

我的操作在hook_action_info中定义为“user”类型,触发器是一个以“any”作为唯一参数的数组。

如果我直接使用actions_do调用此操作,则第一次完美无缺。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我建议使用一些用户来测试VBO,并使用 dpm (devel模块)和 debug_backtrace 实现 hook_user_update 。这可能会暗示正在发生的事情,这是一种奇怪的行为,你只会发现调试。

如果您有更多信息,请将其附加到您的问题中,以便每个人都可以提供帮助。

希望有所帮助。