2013-10-24 5 views
0

На моем сайте Moodle у меня есть викторины, настроенные в каждом курсе. Когда студент проводит викторину, я хотел бы, чтобы этот ученик получил письмо с подтверждением. В этом электронном письме с подтверждением я хотел бы также иметь вложение в формате pdf (например, сертификат pdf), что характерно для викторины, которую только что взял ученик.Настройка электронной почты для подтверждения и прикрепления к викторинам Moodle

До сих пор я нашел строку emailconfirmbody в разделе Администрирование сайта> Язык> Настройка языка. Там, я могу изменить значение по умолчанию «Дорогое {$ a-> имя пользователя], Спасибо за отправку ответов на '{$ a-> quizname}' в курсе '{$ a-> coursename}' в {$ a-> timetime}. Это сообщение подтверждает, что мы получили ответы на ваши вопросы. Вы можете получить доступ к этой викторине по адресу {$ a-> quizurl}. " Проблемы ...

  1. Как добавить вложение PDF? Вложение в формате PDF должно быть специфичным для викторины, сделанной так же, как сообщение электронной почты для подтверждения специфики викторины (с использованием переменной quizname).

  2. Письма не отправляются после подачи викторины, если файл cron.php не запускается вручную. Как получить электронную почту для отправки автоматически?

+0

Что касается второго вопроса, вы должны запустить cron.php с, ну, cron. Посмотрите [здесь] (http://docs.moodle.org/24/en/Cron) – franzlorenzon

ответ

0

Как указано выше, Franz говорит, что вам нужно настроить cron для регулярного запуска.

Для прикрепления по электронной почте вам может потребоваться отправить свои электронные письма. Вы можете сделать это, используя события api. http://docs.moodle.org/dev/Events_API#Handling_an_event

Если вы посмотрите на нижнюю часть файла событий викторины, вы можете увидеть, какие события использовать. /mod/quiz/db/events.php

Это один, вероятно,

quiz_attempt_submitted 
->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. 

Посмотрите здесь для получения дополнительной информации о создании локального модуля, используя событие On Course Completion update external database

+0

Я пробовал следовать вместе с обзором создания локального плагина. До сих пор я создал локальную папку-плагин под названием swquizemail. Внутри этого у меня есть следующее: 1.) local/swquizemail/db/events.php 2.) local/swquizemail/version.php 3.) local/swquizemail/lib.php В этих файлах у меня есть следующий код, который можно увидеть [ЗДЕСЬ] (http://pastebin.com/fkfUSH2b) Я хотел бы знать, насколько это правильно. – user2220474

+0

Выглядит хорошо для меня до сих пор :) –

+0

Прохладный, спасибо! Другой вопрос ... в документах Moodle [здесь] (http://docs.moodle.org/dev/Local_plugins) он перечисляет около 13 файлов в разделе «Стандартные функции плагина». Нужны ли мне все эти файлы, чтобы они работали? Или он будет работать только с тремя файлами, упомянутыми выше? – user2220474

Смежные вопросы