Напишите нам в WhatsApp
+7(906) 943-40-17
Сохраните этот номер в контактах и вы сможете написать нам в WhatsApp.
Или оставьте номер и мы сами напишем вам в WhatsApp
Условиями о персональных данных
Кнопка закрыть
Спасибо!
Спасибо, что оставили заявку.
Мы обработаем вашу заявку и обязательно позвоним!
Кнопка закрыть
Форма заявки
Оставьте ваши контакты,
мы обязательно с вами свяжемся
Ваше имя
Номер телефона (Перезвоним Вам)
Комментарий
Отправляя форму вы соглашаетесь с политикой конфиденциальности
пн-вс с 9:00 до 21:00
Почта: hello@redbe.ru
Уже есть сайт?
Сделаем бесплатный аудит с точки зрения маркетинга и SEO

MODX события: что это и как использовать

События в MODX — это «точки расширения» ядра CMS, которые позволяют разработчикам подключать свой код и менять поведение системы без правки ядра. Через события работают плагины: они «слушают» определённые системные действия и выполняют заданный PHP-код.

Что такое события в MODX

Событие (Event) срабатывает при наступлении определённого действия: сохранение ресурса, авторизация пользователя, очистка кэша и др. Разработчик может «подписать» плагин на одно или несколько событий и реализовать дополнительный функционал.

Главная идея: события позволяют модифицировать поведение MODX без изменения исходного кода ядра.

Примеры системных событий MODX

Событие Когда срабатывает Применение
OnDocFormSave При сохранении ресурса Автоматическая генерация данных, логирование
OnWebLogin При входе пользователя на сайт Логирование входа, перенаправление
OnWebPagePrerender Перед выводом страницы пользователю Модификация HTML-кода на лету
OnCacheUpdate При обновлении кэша Дополнительная очистка данных или синхронизация
OnUserSave При создании/обновлении пользователя Автоматическая отправка уведомлений

Как создать плагин и подписать его на событие

  1. Откройте в админке раздел «Элементы → Плагины».
  2. Создайте новый плагин и вставьте код:
<?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;
}
?>
  1. В настройках плагина отметьте события, которые он должен «слушать» (например, OnDocFormSave, OnWebLogin).
  2. Сохраните плагин и очистите кэш.

Где применяются события

  • SEO: автоматическая генерация мета-тегов при сохранении ресурса.
  • Маркетинг: отправка email при регистрации или входе пользователя.
  • Кэш: очистка внешнего кэша (например, Cloudflare) при обновлении сайта.
  • Контент: автозаполнение TV или полей ресурса.

Популярные события для разработчиков

  • OnBeforeDocFormSave / OnDocFormSave — работа с ресурсами.
  • OnBeforeUserSave / OnUserSave — работа с пользователями.
  • OnWebAuthentication / OnWebLogin / OnWebLogout — авторизация.
  • OnPageNotFound — обработка 404 ошибок.
  • OnWebPageInit / OnWebPagePrerender — модификация страницы.

FAQ

Как узнать, какие события есть в MODX?

Список всех событий доступен в админке: «Управление → События системы». Также можно смотреть документацию MODX.

Можно ли одно событие использовать в нескольких плагинах?

Да, на одно событие можно подписать несколько плагинов, они будут выполняться по очереди.

Что делать, если плагин не срабатывает?

Проверьте, чтобы нужные события были отмечены в настройках плагина, и включена галочка «Активен». Также смотрите системный журнал ошибок.

Заключение

События в MODX — это мощный инструмент кастомизации. С их помощью можно автоматизировать работу, интегрировать внешние сервисы и расширять функционал сайта. Чтобы реализовать сложные сценарии, лучше доверить это опытным разработчикам.

👉 Закажите разработку сайтов на MODX, чтобы реализовать плагины и автоматизацию под ваши задачи.