Использование API СОБЫТИЙ в moodle

#magento #moodle

#magento #moodle

Вопрос:

Я новичок в moodle, у меня есть требование, при котором я пытаюсь использовать API событий. Я хочу вызвать некоторый скрипт magento в случае создания курса в moodle. Таким образом, каждый раз, когда создается курс, будет вызываться пользовательский скрипт. Как указано в API, событие course_created вызывается при создании курса, и мы должны написать некоторый наблюдатель для обработки события. Но пример мне не так понятен. Может кто-нибудь направить меня на работу с events API на каком-нибудь примере.

Любая помощь будет оценена.

Заранее спасибо!

Ответ №1:

Сначала создайте локальный плагин в /local/yourpluginname — взгляните на /local/readme.txt для получения примерной структуры и обратитесь к http://docs.moodle.org/dev/Local_plugins

Затем создайте /local/yourpluginname/db/events.php чтобы обработать событие course_created, что-то вроде:

 $handlers = array (
    'course_created' => array (
        'handlerfile'      => '/local/yourpluginname/lib.php',
        'handlerfunction'  => 'local_yourpluginname_course_created',
        'schedule'         => 'instant',
        'internal'         => 1,
    ),
);
  

Обратитесь к http://docs.moodle.org/dev/Events_API#Handling_an_event

Затем создайте соответствующую функцию в /local/yourpluginname/lib.php например:

 function local_yourpluginname_course_created($course) {
    // Do what you need to do with the course.
}
  

Объект $course будет копией записи, созданной в mdl_course, поэтому у вас будет $course-> id, $course-> короткое имя и т. Д.

Комментарии:

1. я попробовал это .. функция local_yourpluginname_course_created не вызывается .. можете ли вы помочь

2. Похоже, я неправильно написал «courese_created» вместо «course_created»