完成测验时的角色分配

时间:2014-09-20 05:33:58

标签: drupal badge role drupal-roles

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

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

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

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

经过多次搜索后,我们从drupal网站获得了这种方法 - https://www.drupal.org/node/1149930

1 个答案:

答案 0 :(得分:0)

我建议你使用测验钩子来做到这一点:

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

测验有一个名为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
}

希望它有所帮助。

问候。