Moodle自动发送证书

时间:2014-02-25 21:46:13

标签: moodle

我正在配置moodle证书插件,我有疑问。有没有办法配置证书插件在通过考试后自动发送证书?

第二个问题: 有没有办法通过电子邮件发送测验结果?

感谢您的回答

2 个答案:

答案 0 :(得分:2)

有一个quiz_attempt_submitted事件

/mod/quiz/db/events.php

发送具有这些属性的对象

->component   = 'mod_quiz';
->attemptid   = // The id of the quiz attempt that was submitted.
->timefinish  = // The timestamp of when the attempt was submitted.
->timestamp   = // The timestamp of when the attempt was submitted.
->userid      = // The user id that the attempt belongs to.
->submitterid = // The user id of the user who sumitted the attempt.
->quizid      = // The quiz id of the quiz the attempt belongs to.
->cmid        = // The course_module id of the quiz the attempt belongs to.
->courseid    = // The course id of the course the quiz belongs to.

您可以编写一个本地插件来响应提交的事件并检查他们是否通过了考试。如果他们有发送电子邮件。

http://docs.moodle.org/dev/Events_API#Handling_an_event

使用

之类的东西创建/local/sendcertificate/db/events.php
$handlers = array (
    'quiz_attempt_submitted' => array (
        'handlerfile'      => '/local/sendcertificate/lib.php',
        'handlerfunction'  => 'local_sendcertificate_quizsubmitted',
        'schedule'         => 'instant',
        'internal'         => 1,
    ),
);

然后在/local/sendcertificate/lib.php

function local_sendcertificate_quizsubmitted($quizattempt) {
     // Check if quizattempt is successful
     // Generate the certificate as a pdf
     // Email it to the user
}

您需要为本地插件添加更多文件

http://docs.moodle.org/dev/Local_plugins

答案 1 :(得分:0)

'mod_certificate'和'mod_simplecertificate'都没有选项通过电子邮件自动发送证书(通过'通过考试',我认为你的意思是'用户在Moodle中完成某种活动')。

您可以将证书配置为在学生查看的位置通过电子邮件发送给教师(或其他用户的特定列表)(并且您可以将证书设置为仅在满足特定条件时才可查看)。

执行所需操作的唯一方法是让开发人员通过代码添加功能。

测验模块可以配置为在提交测验时自动发送电子邮件(发送给教师和/或提交测验的学生),并在测验过期时发送电子邮件。您可以通过电子邮件发送结果的唯一方法是手动导出它们,然后自己发送电子邮件。

同样,这是一个可以由开发人员添加的功能,但如果没有代码更改就无法完成。