0

我想在成功完成测验时为用户分配一个角色,以便可以分配基于角色的徽章。

这是我尝试过的:1.在测验模块中,在编辑测验中选择选项,添加节点的分配操作>保存内容2.为测验创建了一个VBO,其上下文参数为(测验)NID和用户UID 3.试图将此 VBO 称为条件

问题: 1. 分配此操作时,我在测验中收到错误,您需要重新开始并且看不到实际保存正确的内容(显示结果不正确) 2. 当我尝试从规则调用 VBO 时,它给了我处理程序错误

问题: 1. 方法正确还是有更好的方法?2. 如果方法没问题,我犯的任何明显错误。

经过大量搜索后从drupal站点获得了这种方法 - https://www.drupal.org/node/1149930

4

1 回答 1

0

我建议您使用测验挂钩来做到这一点:

阅读:http ://api.dlcdev.com/quiz/doc/html/group__quiz__public.html#ga6dce0ee8805024c0ba2058b8871f3d3b

Quiz 有一个名为 hook_quiz_finished 的钩子,在提交最后一个问题后触发。

您必须实现自己的模块并像这样使用它:

function yourmodulename_quiz_finished($quiz, $score, $session_data) {
  //$score contains the final score of the quiz
  //$quiz is the object that contains the quiz "pass rate" that you have to compare with score
  //$session_data gives you additional information that you can use to get the uid yo assign the new role
}

希望能帮助到你。

问候。

于 2014-09-20T07:53:54.460 回答