Системные события
Последнее обновление Jan 27th, 2022 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn moreЧто такое системные события?¶
Системные события - это события в MODX, которые зарегистрированы в Plugins. Они «запускаются» по всему коду MODX, что позволяет плагинам взаимодействовать с кодом MODX и добавлять пользовательские функции без исправления основного кода.
Модель системного события¶
Таблица системных событий находится в {table_prefix}_system_eventnames
, и имеет следующие поля:
- id - Уникальный ID.
- name - Название события. Это то, как они вызываются в коде, через метод modX.invokeEvent.
- service - Тип системного события.
- groupname - Используется для пользовательских интерфейсов, прежде всего для фильтрации, группировки и сортировки событий. Не используется явно в модели modx.
Service Types¶
Поле 'service' в системном событии является числом; числа указывают на различные типы системных событий. Они следующие:
- 1 - Parser Service Events
- 2 - Manager Access Events
- 3 - Web Access Service Events
- 4 - Cache Service Events
- 5 - Template Service Events
- 6 - User Defined Events
Тип 3 не запускается в контексте 'mgr', а тип 2 - не запускается ни в каком контексте, кроме 'mgr'.
Доступные события¶
Это не исчерпывающий список, так как события все еще документируются, заранее благодарим за ваше терпение! События TV, шаблонов и сниппетов еще не задокументированы. Для получения полного списка, пожалуйста, либо посмотрите плагин в Менеджере и посмотрите вкладку Системные события, либо просмотрите здесь. Также обратите внимание, что все события WUsr (веб-пользователя) были удалены.
- OnBeforeCacheUpdate
- OnBeforeChunkFormDelete
- OnBeforeChunkFormSave
- OnBeforeDocFormDelete
- OnBeforeDocFormSave
- OnBeforeEmptyTrash
- OnBeforeManagerLogin
- OnBeforeManagerLogout
- OnBeforeManagerPageInit
- OnBeforePluginFormDelete
- OnBeforePluginFormSave
- OnBeforeRegisterClientScripts
- OnBeforeSaveWebPageCache
- OnBeforeSnipFormDelete
- OnBeforeSnipFormSave
- OnBeforeTempFormDelete
- OnBeforeTempFormSave
- OnBeforeTVFormDelete
- OnBeforeTVFormSave
- OnBeforeUserActivate
- OnBeforeUserFormDelete
- OnBeforeUserFormSave
- OnBeforeWebLogin
- OnBeforeWebLogout
- OnCacheUpdate
- OnCategoryBeforeRemove
- OnCategoryBeforeSave
- OnCategoryRemove
- OnCategorySave
- OnChunkBeforeRemove
- OnChunkBeforeSave
- OnChunkFormDelete
- OnChunkFormPrerender
- OnChunkFormRender
- OnChunkFormSave
- OnChunkRemove
- OnChunkSave
- OnContextBeforeRemove
- OnContextBeforeSave
- OnContextFormPrerender
- OnContextFormRender
- OnContextRemove
- OnContextSave
- OnDocFormDelete
- OnDocFormPrerender
- OnDocFormRender
- OnDocFormSave
- OnDocPublished
- OnDocUnPublished
- OnElementNotFound
- OnEmptyTrash
- OnFileManagerBeforeUpload
- OnFileManagerUpload
- OnFileManagerDirCreate
- OnFileManagerDirRemove
- OnFileManagerDirRename
- OnFileManagerFileCreate
- OnFileManagerFileRemove
- OnFileManagerFileRename
- OnFileManagerFileUpdate
- OnFileManagerMoveObject
- OnHandleRequest
- OnInitCulture
- OnLoadWebDocument
- OnLoadWebPageCache
- OnManagerAuthentication
- OnManagerLogin
- OnManagerLoginFormPrerender
- OnManagerLoginFormRender
- OnManagerLogout
- OnManagerPageAfterRender
- OnManagerPageBeforeRender
- OnManagerPageInit
- OnMODXInit
- OnPageNotFound
- OnPageUnauthorized
- OnParseDocument
- OnPluginBeforeRemove
- OnPluginBeforeSave
- OnPluginEventRemove
- OnPluginFormDelete
- OnPluginFormPrerender
- OnPluginFormRender
- OnPluginFormSave
- OnPluginRemove
- OnPluginSave
- OnPropertySetBeforeRemove
- OnPropertySetBeforeSave
- OnPropertySetRemove
- OnPropertySetSave
- OnResourceAutoPublish
- OnResourceBeforeSort
- OnResourceDelete
- OnResourceDuplicate
- OnResourceGroupBeforeRemove
- OnResourceGroupBeforeSave
- OnResourceGroupRemove
- OnResourceGroupSave
- OnResourceSort
- OnResourceUndelete
- OnRichTextBrowserInit
- OnRichTextEditorInit
- OnRichTextEditorRegister
- OnSiteRefresh
- OnSiteSettingsRender
- OnTemplateVarBeforeRemove
- OnTemplateVarBeforeSave
- OnTemplateVarRemove
- OnTemplateVarSave
- OnUserActivate
- OnUserBeforeRemove
- OnUserBeforeSave
- OnUserChangePassword
- OnUserFormDelete
- OnUserFormSave
- OnUserNotFound
- OnUserRemove
- OnUserSave
- OnWebAuthentication
- OnWebLogin
- OnWebLogout
- OnWebPageComplete
- OnWebPageInit
- OnWebPagePrerender
Кастомные события¶
Вы можете создавать свои собственные пользовательские события, но в настоящее время для этого нет графического интерфейса, вместо этого вы должны использовать API. События имеют следующие атрибуты:
- name - уникальное имя события.
-
service - неудачная попытка сгруппировать события для определенных областей. 1,2,4,5,6 загружаются внутри менеджера, тогда как 1,3,4,5,6 загружаются вне менеджера. (см.
getEventMap()
) - groupname - Используется для визуальной группировки событий в менеджере MODX (отображается как вкладка плагина).
Создание события с использованием API MODX будет выглядеть примерно так¶
$Event = $modx->newObject('modEvent');
$Event->set('name', 'OnMyCustomEvent');
$Event->set('service',1);
$Event->set('groupname', 'Custom');
Тогда ваш код может вызвать событие по имени:
$modx->invokeEvent('OnMyCustomEvent', $options);
Наконец, можно установить плагин для прослушивания этого события. В этом случае он может получать параметры, переданные ему.
//... TODO...
Смотрите также¶
- System Events
- OnBeforeCacheUpdate
- OnBeforeChunkFormDelete
- OnBeforeChunkFormSave
- OnBeforeDocFormDelete
- OnBeforeDocFormSave
- OnBeforeManagerLogout
- OnBeforeSaveWebPageCache
- OnBeforeWebLogout
- OnCacheUpdate
- OnChunkFormDelete
- OnChunkFormPrerender
- OnChunkFormRender
- OnChunkFormSave
- OnDocFormDelete
- OnDocFormPrerender
- OnDocFormRender
- OnDocFormSave
- OnDocPublished
- OnDocUnPublished
- OnLoadWebPageCache
- OnManagerLogin
- OnManagerLogout
- OnSiteRefresh
- OnUserChangePassword
- OnWebLogin
- OnWebLogout
- OnWebPagePrerender
- OnManagerPageBeforeRender
- OnTemplateVarBeforeSave
- OnTemplateVarSave
- OnTemplateVarBeforeRemove
- OnTemplateVarRemove
- OnBeforeEmptyTrash
- OnBeforeManagerLogin
- OnBeforeManagerPageInit
- OnBeforePluginFormDelete
- OnBeforePluginFormSave
- OnBeforeSnipFormDelete
- OnBeforeSnipFormSave
- OnBeforeTempFormDelete
- OnBeforeTempFormSave
- OnBeforeTVFormDelete
- OnBeforeTVFormSave
- OnBeforeUserActivate
- OnBeforeUserFormDelete
- OnBeforeUserFormSave
- OnBeforeWebLogin
- OnCategoryBeforeRemove
- OnCategoryBeforeSave
- OnCategoryRemove
- OnCategorySave
- OnChunkBeforeRemove
- OnChunkBeforeSave
- OnChunkRemove
- OnChunkSave
- OnContextBeforeRemove
- OnContextBeforeSave
- OnContextFormPrerender
- OnContextFormRender
- OnContextRemove
- OnContextSave
- OnEmptyTrash
- OnFileManagerBeforeUpload
- OnFileManagerUpload
- OnFileManagerDirCreate
- OnFileManagerDirRemove
- OnFileManagerDirRename
- OnFileManagerFileCreate
- OnFileManagerFileRemove
- OnFileManagerFileRename
- OnFileManagerFileUpdate
- OnFileManagerMoveObject
- OnHandleRequest
- OnInitCulture
- OnLoadWebDocument
- OnManagerAuthentication
- OnManagerLoginFormPrerender
- OnManagerLoginFormRender
- OnManagerPageAfterRender
- OnManagerPageInit
- OnPageNotFound
- OnPageUnauthorized
- OnParseDocument
- OnPluginBeforeRemove
- OnPluginBeforeSave
- OnPluginEventRemove
- OnPluginFormDelete
- OnPluginFormPrerender
- OnPluginFormRender
- OnPluginFormSave
- OnPluginRemove
- OnPluginSave
- OnPropertySetBeforeRemove
- OnPropertySetBeforeSave
- OnPropertySetRemove
- OnPropertySetSave
- OnResourceAutoPublish
- OnResourceGroupBeforeRemove
- OnResourceGroupBeforeSave
- OnResourceGroupRemove
- OnResourceGroupSave
- OnRichTextBrowserInit
- OnRichTextEditorInit
- OnRichTextEditorRegister
- OnSiteSettingsRender
- OnUserActivate
- OnUserBeforeRemove
- OnUserBeforeSave
- OnUserFormDelete
- OnUserFormSave
- OnUserNotFound
- OnUserRemove
- OnUserSave
- OnWebAuthentication
- OnWebPageComplete
- OnWebPageInit
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more