События Moodle — Hook для настройки функциональности ядра

#listener #hook #moodle

#прослушиватель #перехват #moodle

Вопрос:

Есть ли в moodle способ подключения к основным функциям, таким как добавление курсов, создание пользователей и добавление нашего собственного пользовательского кода, чтобы не было изменений в ядре.

Ответ №1:

Есть события, которые запускаются после обновления пользователей / курсов, поэтому вы можете предпринять свои собственные действия после их выполнения.

Нет способа переопределить исходную функциональность без внесения изменений в ядро.

Для версий Moodle до 2.7 API событий задокументирован по адресу: http://docs.moodle.org/dev/Events_API (В разделе 5 приведен список основных событий, которые вы можете прослушать)

Для Moodle 2.7 и более поздних версий API событий документирован по адресу: http://docs.moodle.org/dev/Event_2 (В разделе 4.5.1 приведен список основных событий, которые вы можете прослушать)

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

1. где я могу найти пример кода для использования events api, поскольку в двух приведенных выше ссылках его нет.

2. Выполните поиск в коде moodle для любых файлов, вызываемых db/events.php (например, в mod_forum), затем посмотрите на функции, которые они упоминают. Первая ссылка выше дает пример в разделе «обработка событий», вторая показывает некоторый код в разделе «наблюдатели событий» (единственный бит отсутствует — это пример фактической вызываемой функции).