MODX события: что это и как использовать
События в MODX — это «точки расширения» ядра CMS, которые позволяют разработчикам подключать свой код и менять поведение системы без правки ядра. Через события работают плагины: они «слушают» определённые системные действия и выполняют заданный PHP-код.
Что такое события в MODX
Событие (Event) срабатывает при наступлении определённого действия: сохранение ресурса, авторизация пользователя, очистка кэша и др. Разработчик может «подписать» плагин на одно или несколько событий и реализовать дополнительный функционал.
Главная идея: события позволяют модифицировать поведение MODX без изменения исходного кода ядра.
Примеры системных событий MODX
| Событие | Когда срабатывает | Применение |
|---|---|---|
| OnDocFormSave | При сохранении ресурса | Автоматическая генерация данных, логирование |
| OnWebLogin | При входе пользователя на сайт | Логирование входа, перенаправление |
| OnWebPagePrerender | Перед выводом страницы пользователю | Модификация HTML-кода на лету |
| OnCacheUpdate | При обновлении кэша | Дополнительная очистка данных или синхронизация |
| OnUserSave | При создании/обновлении пользователя | Автоматическая отправка уведомлений |
Как создать плагин и подписать его на событие
- Откройте в админке раздел «Элементы → Плагины».
- Создайте новый плагин и вставьте код:
<?php
switch ($modx->event->name) {
case 'OnDocFormSave':
$resource =& $modx->event->params['resource'];
$modx->log(modX::LOG_LEVEL_INFO, 'Сохранен документ: ' . $resource->get('pagetitle'));
break;
case 'OnWebLogin':
$user =& $modx->event->params['user'];
$modx->log(modX::LOG_LEVEL_INFO, 'Пользователь вошел: ' . $user->get('username'));
break;
}
?>
- В настройках плагина отметьте события, которые он должен «слушать» (например, OnDocFormSave, OnWebLogin).
- Сохраните плагин и очистите кэш.
Где применяются события
- SEO: автоматическая генерация мета-тегов при сохранении ресурса.
- Маркетинг: отправка email при регистрации или входе пользователя.
- Кэш: очистка внешнего кэша (например, Cloudflare) при обновлении сайта.
- Контент: автозаполнение TV или полей ресурса.
Популярные события для разработчиков
- OnBeforeDocFormSave / OnDocFormSave — работа с ресурсами.
- OnBeforeUserSave / OnUserSave — работа с пользователями.
- OnWebAuthentication / OnWebLogin / OnWebLogout — авторизация.
- OnPageNotFound — обработка 404 ошибок.
- OnWebPageInit / OnWebPagePrerender — модификация страницы.
FAQ
Как узнать, какие события есть в MODX?
Список всех событий доступен в админке: «Управление → События системы». Также можно смотреть документацию MODX.
Можно ли одно событие использовать в нескольких плагинах?
Да, на одно событие можно подписать несколько плагинов, они будут выполняться по очереди.
Что делать, если плагин не срабатывает?
Проверьте, чтобы нужные события были отмечены в настройках плагина, и включена галочка «Активен». Также смотрите системный журнал ошибок.
Заключение
События в MODX — это мощный инструмент кастомизации. С их помощью можно автоматизировать работу, интегрировать внешние сервисы и расширять функционал сайта. Чтобы реализовать сложные сценарии, лучше доверить это опытным разработчикам.
👉 Закажите разработку сайтов на MODX, чтобы реализовать плагины и автоматизацию под ваши задачи.

Напишите нам в WhatsApp



