События плагинов

    Template Service Events

    Все события, связанные с отображением страницы

    OnBeforeLoadDocumentObject

    Запускается перед формированием $modx->documentObject.

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    method - метод доступа к документу
    identifier - идентификатор документа

    OnLoadDocumentObject

    Запускается при формирования $modx->documentObject

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    method - метод доступа к документу
    identifier - идентификатор документа
    documentObject - объект текущего документа

    OnAfterLoadDocumentObject

    Запускается после формирования $modx->documentObject. От OnLoadDocumentObject отличается тем, что содержит в себе tv поля текущего документа.

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    method - метод доступа к документу
    identifier - идентификатор документа
    documentObject - объект текущего документа

    OnBeforeLoadExtension

    Запускается перед подгрузкой расширения.

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    name - имя подгружаемого расширения
    reload - флаг отображающий, была ли запрошена переподгрузка

    OnBeforeParseParams

    Запускается перед парсингом параметров в вызове сниппета.

    manager/includes/document.parser.class.inc.php

    OnDocPublished

    Запускается при публикации документа

    manager/processors/publish_content.processor.php

    Доступные переменные:

    docid - id документа

    OnDocUnPublished

    Запускается при снятии документа с публикации

    manager/processors/unpublish_content.processor.php

    Доступные переменные:

    docid - id документа

    OnLoadWebDocument

    Запускается, если документ был взят из базы

    manager/includes/document.parser.class.inc.php

    OnLogPageHit

    Запускается, если стоит настройка "Отслеживать посещения". Это событие вызывается перед загрузкой документа.

    manager/includes/document.parser.class.inc.php

    OnMakeDocUrl

    Запускается после формировании url через функцию $modx->makeUrl(), либо тэги [~...~].

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    id - id документа
    url - сформированный url

    OnParseDocument

    Запускается перед тем, как будут обработаны ТВ, сниппеты и чанки

    manager/includes/document.parser.class.inc.php

    OnParseProperties

    Запускается при парсинге строки параметров ресурса.

    manager/includes/document.parser.class.inc.php

    Вовзращает:

    element -имя элемента
    type - тип элемента
    args - массив в формате имя параметра => значение

    OnWebPageComplete

    Запускается, когда страница полностью сформирована. После кэширования документа.

    manager/includes/document.parser.class.inc.php

    OnWebPageInit

    Событие вызывается при иницилизации страницы. Выполняется одним из первых. Если страница была закеширована ранее, то запускается после того, как кэш будет загружен в $modx.

    manager/includes/document.parser.class.inc.php

    OnWebPagePrerender

    Запускается перед тем, как страница будет отдана клиенту. Это последнее событие, вызванное до того, как страница будет отправлена в клиентский браузер.

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    documentOutput - содержимое страницы. Начиная с версии 3.1.3 эта переменная предаётся по ссылке и не надо делать event->output

    Cache Service Events

    События кэширования

    OnBeforeCacheUpdate

    Запускается перед обновлением кэша

    manager/processors/cache_sync.class.processor.php

    OnBeforeSaveWebPageCache

    Запускается после сохранения страницы в кэше

    manager/includes/document.parser.class.inc.php

    OnCacheUpdate

    Запускается сразу после записи в кэш

    manager/processors/cache_sync.class.processor.php

    OnLoadWebPageCache

    Запускается после загрузки кэшируемой страницы

    manager/includes/document.parser.class.inc.php

    OnMakePageCacheKey

    Запускается после формирования ключа для кэша страницы.

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    hash - ключ кэша страницы
    id - id кэшируемого документа
    params - отсортированные GET параметры текущего запроса

    Web Access Service Events

    События, связанные с авторизацией и редактированим веб-пользователя

    OnBeforeWebLogin

    Запускается перед тем, как веб-пользователь авторизируется.

    Может быть вызвано разными сниппетами авторизации. Например WebLogin:
    assets/snippets/weblogin/weblogin.processor.inc.php

    Доступные переменные:

    username - имя пользователя
    userpassword - пароль
    rememberme - запомнить или нет пользователя

    OnBeforeWebLogout

    Может быть вызвано разными сниппетами авторизации. Например WebLogin:
    assets/snippets/weblogin/weblogin.processor.inc.php

    Доступные переменные:

    userid - id
    username - имя пользователя

    OnWebAuthentication

    Может быть вызвано разными сниппетами авторизации. Например WebLogin:
    assets/snippets/weblogin/weblogin.processor.inc.php

    OnWebChangePassword

    manager/includes/document.parser.class.inc.php
    manager/processors/save_web_user.processor.php

    OnWebCreateGroup

    manager/processors/web_access_groups.processor.php

    OnWebDeleteUser

    manager/processors/delete_web_user.processor.php

    OnWebLogin

    Запускается при авторизации веб-пользователя.

    Может быть вызвано разными сниппетами авторизации. Например WebLogin:
    assets/snippets/weblogin/weblogin.processor.php

    Доступные переменные:

    userid - id пользователя
    username - имя пользователя
    userpassword - пароль
    rememberme - запомнить или нет

    OnWebLogout

    Может быть вызвано разными сниппетами авторизации. Например WebLogin:
    assets/snippets/weblogin/weblogin.processor.inc.php

    Доступные переменные:

    userid - id пользователя
    username - имя пользователя

    OnWebSaveUser

    Запускается при сохранении профиля пользователя

    manager/processors/save_web_user.processor.php

    Доступные переменные:

    Если создание пользователя:
    mode - "new"
    userid - id пользователя
    username - имя пользователя
    userpassword - пароль
    useremail - почта
    userfullname - полное имя
    
    Если редактирование пользователя:
    
    mode - "upd"
    userid id пользователя
    username - имя пользователя
    userpassword - пароль
    useremail - почта
    userfullname - полное имя
    oldusername - старое имя пользователя
    olduseremail - старый email

    Manager Access Events

    OnBeforeManagerLogin

    OnBeforeManagerLogout

    OnBeforeManagerPageInit

    OnManagerAuthentication

    OnManagerChangePassword

    OnManagerCreateGroup

    OnManagerDeleteUser

    OnManagerFrameLoader

    OnManagerLogin

    OnManagerLoginFormPrerender

    Событие запускается перед генерацией формы входа в панель администрирования (формы авторизации). Может использоваться для кастомизации страницы входа и самой формы авторизации.

    OnManagerLoginFormRender

    Событие запускается после генерации формы входа в панель администрирования (формы авторизации). Может использоваться для кастомизации страницы входа и формы авторизации.

    OnManagerLogout

    OnManagerMainFrameHeaderHTMLBlock

    OnManagerMenuPrerender

    OnManagerNodePrerender

    OnManagerNodeRender

    OnManagerPageInit

    OnManagerPreFrameLoader

    OnManagerSaveUser

    OnManagerTopPrerender

    OnManagerTreeInit

    OnManagerTreePrerender

    OnManagerTreeRender

    OnManagerWelcomeHome

    С помощью данного события возможно вывести кастомные виджеты на домашнюю страницу админки.

        Event::listen(
            'evolution.OnManagerWelcomeHome',
            function ($params) {
                $params['widgets']['tutorial'] = [
                    'menuindex' => '1',
                    'id'        => 'tutorial',
                    'cols'      => 'col-sm-12',
                    'icon'      => 'fab fa-leanpub',
                    'title'     => 'Відео-туторіал',
                    'body'      => '<div class="card-body text-center">
                                <iframe width="500" height="250" src="https://www.youtube.com/embed/videoseries?list=yourplaylist" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
                            </div>'
                ];
                return serialize($params['widgets']);
            }
        );

    OnManagerWelcomePrerender

    OnManagerWelcomeRender

    Parser Service Events

    OnFileManagerUpload

    Запускается после загрузки файла через встроенный файл-менеджер

    manager/actions/files.dynamic.php

    Доступные переменные:

    $filepath - путь к файлу
    $filename - имя файла

    OnPageNotFound

    Запускается, если страница не найдена. Зачастую используется для написания своего роутинга.

    manager/includes/document.parser.class.inc.php

    OnPageUnauthorized

    manager/includes/document.parser.class.inc.php

    OnSiteRefresh

    manager/actions/refresh_site.dynamic.php

    Chunks

    OnBeforeChunkFormDelete

    OnBeforeChunkFormSave

    OnChunkFormDelete

    OnChunkFormPrerender

    OnChunkFormRender

    OnChunkFormSave

    Documents

    OnAfterMoveDocument

    Событие, отрабатывающее ПОСЛЕ перемещения документа в другой родитель в административной панели

    manager/processors/move_document.processor.php

    Доступные переменные:

    $id_document - id переносимого документа
    $old_parent - id родителя ИЗ которого перенесли документ
    $new_parent - id родителя КУДА перенесли документ

    OnBeforeDocDuplicate

    Событие, отрабатывающее ДО создания дубликата документа в административной панели

    manager/processors/duplicate_content.processor.php

    Доступные переменные:

    $id - id переносимого документа

    OnBeforeDocFormDelete

    Событие, отрабатывающее ДО удаления (указание на удаление) документа в административной панели

    manager/processors/delete_content.processor.php

    Доступные переменные:

    $id - id удаляемого документа
    $children - массив потомков удаляемого документа

    Можно использовать для переноса дочерних документов, обладающих какими-то специальными свойствами в папку "архив"

    OnBeforeDocFormSave

    Событие, отрабатывающее ДО сохранения документа в административной панели

    manager/processors/save_content.processor.php

    Доступные переменные:

    $mode - принимает значение new для нового документа, upd при обновлении документа
    $id - id документа

    OnBeforeEmptyTrash

    Событие, отрабатывающее ДО очистки корзины в административной панели

    manager/processors/remove_content.processor.php

    Доступные переменные:

    $ids - массив, содержащий id документов, помеченных для удаления

    OnBeforeMoveDocument

    Событие, отрабатывающее ДО перемещения документа в другой родитель в административной панели

    manager/processors/move_document.processor.php

    Доступные переменные:

    $id_document - id переносимого документа
    $old_parent - id родителя ОТКУДА перенесят документ
    $new_parent - id родителя КУДА перенесят документ

    OnCreateDocGroup

    Событие отрабатывающее при создании группы документов

    manager/processors/access_groups.processor.php
    manager/processors/web_access_groups.processor.php

    Доступные переменные $id - id группы $newgroup - имя группы

    OnDocDuplicate

    Событие, отрабатывающее ПОСЛЕ создания дубликата документа в административной панели

    manager/processors/duplicate_content.processor.php

    Доступные переменные:

    $id - id переносимого документа
    $new_id - id нового родителя

    Используется для изменения различных свойств документа после создания дубликата (например можно сделать счетчик количества дублей)

    OnDocFormDelete

    Событие, отрабатывающее ПОСЛЕ удаления (указание на удаление) документа в административной панели

    manager/processors/delete_content.processor.php

    Доступные переменные:

    $id - id удаленного документа
    $children - массив потомков удаляенног документа

    Можно использовать, например, для автоматического, везвозвратного удаления документов из таблицы (при это не стоит забывать, что нужно удалять и ТВ параметры связанные с документами).

    OnDocFormPrerender

    Событие, отрабатывающее после открытия формы редакирования докуменда в административной панели

    manager/actions/mutate_content.dynamic.php 

    Доступные переменные:

    $id - id документа
    $template - id шаблона, который использует текущий документ

    OnDocFormRender

    Событие, отрабатывающее после открытия формы редакирования докуменда в административной панели

    manager/actions/mutate_content.dynamic.php 

    Доступные переменные:

    $id - id документа
    $template - id шаблона, который использует текущий документ

    OnDocFormSave

    Событие, отрабатывающее при сохранении документа в административной панели

    manager/processors/save_content.processor.php

    Доступные переменные:

    $mode - принимает значение new для нового документа, upd при обновлении документа
    $id - id документа
    global $tmplvars,$content // массивы, в которых содержатся поля документа и ТВ-параметры

    OnDocFormTemplateRender

    Событие возникающие при определении шаблона документа. Может использоваться при смене шаблона документа (например подтягивать специфические свойства)

    manager/actions/mutate_content.dynamic.php

    Доступные переменные:

    $id - id шаблона документа

    OnDocFormUnDelete

    Событие, отрабатывающее после восстановления документа из удаленных в административной панели

    manager/processors/undelete_content.processor.php

    Доступные переменные:

    $id - id востановленного документа
    $children - массив дочерних документов востановленного документа

    OnEmptyTrash

    Событие, отрабатывающее ПОСЛЕ очистки корзины в административной панели

    manager/processors/remove_content.processor.php

    Доступные переменные:

    $ids - массив, содержащий id документов, помеченных для удаления

    OnStripAlias

    Событие запускаемое для очистки алиаса от недопустимых символов

    manager/includes/document.parser.class.inc.php

    Доступные переменные:

    $alias - псевдоним

    File Browser Events

    События файлового браузера.

    OnFileBrowserInit

    Вызывается после загрузки настроек файлового браузера. Настройки можно изменить непосредственно в переменной $config.

    OnBeforeFileBrowserUpload

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

    Доступные переменные:

    $filepath - путь, по которому будет загружен файл
    $file - ссылка на массив с информацией о файле

    OnFileBrowserUpload

    Вызывается после того, как файл был загружен на сервер и перемещен в место назначения.

    Доступные переменные:

    $filepath - путь, по которому был загружен файл
    $filename - имя файла

    OnBeforeFileBrowserDelete

    Вызывается перед удалением файла. Если из плагина вернуть сообщение, то удаление будет прервано.

    $element - тип удаляемого элемента (file или dir)
    $filepath - путь к файлу (тип file) или директории (тип dir)
    $filename - (только для file)

    OnFileBrowserDelete

    Вызывается после удаления файла.

    Доступные переменные:

    $element - тип удаляемого элемента (file или dir)
    $filepath - путь к файлу (тип file) или директории (тип dir)
    $filename - имя файла (только для file)

    OnBeforeFileBrowserMove

    Вызывается перед перемещением файла. Если из плагина вернуть сообщение, то перемещение будет прервано.

    Доступные переменные:

    $oldpath - исходный путь к файлу, включая имя файла
    $filename - имя файла
    $newpath - конечный путь к файлу

    OnFileBrowserMove

    Вызывается после перемещения файла.

    Доступные переменные:

    $oldpath - исходный путь к файлу, включая имя файла
    $filename - имя файла
    $newpath - конечный путь к файлу

    OnBeforeFileBrowserCopy

    Вызывается перед копированием файла. Если из плагина вернуть сообщение, то копирование будет прервано.

    Доступные переменные:

    $oldpath - исходный путь к файлу, включая имя файла
    $filename - имя файла
    $newpath - конечный путь к файлу

    OnFileBrowserCopy

    Вызывается после копирования файла.

    Доступные переменные:

    $oldpath - исходный путь к файлу, включая имя файла
    $filename - имя файла
    $newpath - конечный путь к файлу

    OnBeforeFileBrowserRename

    Вызывается перед переименованием файла или директории.

    Доступные переменные:

    $element - тип удаляемого элемента (file или dir)
    $filepath - путь к файлу (тип file) или директории (тип dir)
    $filename - имя файла (только для file)
    $newname - новое имя (если изменить переменную, то изменится и имя)

    OnFileBrowserRename

    Вызывается после переименования файла или директории.

    Доступные переменные:

    $element - тип удаляемого элемента (file или dir)
    $filepath - путь к файлу (тип file) или директории (тип dir)
    $filename - имя файла (только для file)
    $newname - новое имя

    Modules

    OnBeforeModFormDelete

    OnBeforeModFormSave

    OnModFormDelete

    OnModFormPrerender

    OnModFormRender

    OnModFormSave

    Plugins

    OnBeforePluginFormDelete

    OnBeforePluginFormSave

    OnPluginFormDelete

    OnPluginFormPrerender

    OnPluginFormRender

    OnPluginFormSave

    RichText Editor

    OnRichTextEditorInit

    Запускается при инициализации текстового редактора

    manager/actions/mutate_content.dynamic.php
    manager/actions/mutate_htmlsnippet.dynamic.php
    manager/includes/tmplvars.format.inc.php

    Доступные переменные:

    $editor - название активного редактора из OnRichTextEditorRegister
    $elements - Имя <textarea> где работает редактор

    OnRichTextEditorRegister

    Позволяет зарегистрировать свой текстовый редактор для выпадающего списка выбора редакторов.

    manager/actions/mutate_content.dynamic.php
    manager/actions/mutate_htmlsnippet.dynamic.php
    manager/actions/mutate_settings.dynamic.php
    manager/actions/mutate_tmplvars.dynamic.php
    manager/actions/mutate_user.dynamic.php

    Доступные переменные:

    $forfrontend - если редактор используется для редакирования на фронтенде, будет 1. Иначе 0.

    Пример

    $e = &$modx->Event; 
    switch ($e->name) {
        case "OnRichTextEditorRegister": // register the name
            $e->output("My RTE");
            break;
    
        case "OnRichTextEditorInit": // Initialize the editor
            if($editor == "My RTE") {
                // The editor is active
                $elementList = implode(",", $elements); // Comma-separated list of elements
    
                $html = "<!-- Add all the necessary code here -->";         
    
                $e->output($html);
            }       
            break;
    }

    Snippets

    OnBeforeSnipFormDelete

    OnBeforeSnipFormSave

    OnSnipFormDelete

    OnSnipFormPrerender

    OnSnipFormRender

    OnSnipFormSave

    System Settings

    События связанные с редактированием системных настроек

    OnFriendlyURLSettingsRender

    Событие возникающее после открытия вкладки дружественные URL в системной конфигурации

    manager/actions/mutate_settings/tab2_furl_settings.inc.php 

    OnInterfaceSettingsRender

    Событие возникающее после открытия вкладки интерфейс и представление в системной конфигурации и редактировании пользователя

    manager/actions/mutate_settings/tab4_manager_settings.inc.php
    manager/actions/mutate_user.dynamic.php

    OnMiscSettingsRender

    OnSiteSettingsRender

    Событие возникающее после открытия вкладки *сайт в системной конфигурации

    manager/actions/mutate_settings/tab1_site_settings.inc.php

    OnUserSettingsRender

    Событие возникающее после открытия вкладки пользователи в системной конфигурации

    manager/actions/mutate_settings/tab3_user_settings.inc.php

    Template Variables

    События связанные с редактированием тв-параметров

    OnBeforeTVFormDelete

    OnBeforeTVFormSave

    OnTVFormDelete

    OnTVFormPrerender

    OnTVFormRender

    OnTVFormSave

    Templates

    События связанные с редактированием шаблонов

    OnBeforeTempFormDelete

    OnBeforeTempFormSave

    OnTempFormDelete

    OnTempFormPrerender

    OnTempFormRender

    OnTempFormSave

    Users

    События связанные с редактированием менеджеров Внимание! Users - это менеджеры (администраторы, редакторы), т.е. те, которые авторизируются через бэк сайта и имеют доступ к административной части сайта

    OnBeforeUserFormDelete

    Запускается ДО удаления менеджера

    manager/processors/delete_user.processor.php

    Доступные переменные:

    $id - id менеджера

    OnBeforeUserFormSave

    Запускается до сохранения менеджера

    manager/processors/save_user.processor.php

    Доступные переменные:

    $mode - принимает два значения: new (новый) и upd (обновление)
    id - id менеджера, используется при $mode=='upd'

    OnUserFormDelete

    Запускается после удаления менеджера

    manager/processors/delete_user.processor.php

    Доступные переменные:

    $id - id менеджера

    OnUserFormPrerender

    Запускается перед отображением формы редактирования менеджера

    manager/actions/mutate_user.dynamic.php

    Доступные переменные:

    $id - id менеджера

    OnUserFormRender

    Запускается после отображения формы редактирования менеджера

    manager/actions/mutate_user.dynamic.php

    Доступные переменные:

    $id - id менеджера

    OnUserFormSave

    Запускается после сохранения менеджера

    manager/processors/save_user.processor.php

    Доступные переменные:

    $mode - принимает два значения: new (новый) и upd (обновление)
    id - id менеджера

    Web Users

    События связанные с редактированием веб-пользователей Внимание! Web Users - это веб-пользователи, т.е. те, которые авторизируются через фронт сайта и не имеют доступа к административной части сайта

    OnBeforeWUsrFormDelete

    Запускается ДО удаления веб-пользователя

    manager/processors/delete_web_user.processor.php

    Доступные переменные:

    $id - id пользователя

    OnBeforeWUsrFormSave

    Запускается перед сохранением веб-пользователя

    manager/processors/save_web_user.processor.php

    Доступные переменные:

    $mode - принимает два значения: new (новый) и upd (обновление)
    id - id пользователя, используется при $mode=='upd'

    OnWUsrFormDelete

    Запускается ПОСЛЕ удаления веб-пользователя

    manager/processors/delete_web_user.processor.php

    Доступные переменные:

    id - id пользователя

    OnWUsrFormPrerender

    Запускается перед отображением формы редактирования веб-пользователя

    manager/actions/mutate_web_user.dynamic.php

    Доступные переменные:

    $id - id пользователя

    OnWUsrFormRender

    Запускается при отображении формы редактирования веб-пользователя

    manager/actions/mutate_web_user.dynamic.php

    Доступные переменные:

    $id - id пользователя

    OnWUsrFormSave

    Запускается после сохранением веб-пользователя

    manager/processors/save_web_user.processor.php

    Доступные переменные:

    $mode - принимает два значения: new (новый) и upd (обновление)
    $id - id пользователя