Jump to main content Jump to doc navigation

Что такое системные события?

Системные события - это события в MODX, которые зарегистрированы в Плагины. Они «запускаются» по всему коду 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, Template и Snippet еще не задокументированы. Для получения полного списка, пожалуйста, либо посмотрите плагин в менеджере и посмотрите вкладку Системные события, либо просмотрите здесь. Также обратите внимание, что все события WUsr (веб-пользователя) были удалены.

  1. OnBeforeCacheUpdate
  2. OnBeforeChunkFormDelete
  3. OnBeforeChunkFormSave
  4. OnBeforeDocFormDelete
  5. OnBeforeDocFormSave
  6. OnBeforeEmptyTrash
  7. OnBeforeManagerLogin
  8. OnBeforeManagerLogout
  9. OnBeforeManagerPageInit
  10. OnBeforePluginFormDelete
  11. OnBeforePluginFormSave
  12. OnBeforeSaveWebPageCache
  13. OnBeforeSnipFormDelete
  14. OnBeforeSnipFormSave
  15. OnBeforeTempFormDelete
  16. OnBeforeTempFormSave
  17. OnBeforeTVFormDelete
  18. OnBeforeTVFormSave
  19. OnBeforeUserActivate
  20. OnBeforeUserFormDelete
  21. OnBeforeUserFormSave
  22. OnBeforeWebLogin
  23. OnBeforeWebLogout
  24. OnCacheUpdate
  25. OnCategoryBeforeRemove
  26. OnCategoryBeforeSave
  27. OnCategoryRemove
  28. OnCategorySave
  29. OnChunkBeforeRemove
  30. OnChunkBeforeSave
  31. OnChunkFormDelete
  32. OnChunkFormPrerender
  33. OnChunkFormRender
  34. OnChunkFormSave
  35. OnChunkRemove
  36. OnChunkSave
  37. OnContextBeforeRemove
  38. OnContextBeforeSave
  39. OnContextFormPrerender
  40. OnContextFormRender
  41. OnContextRemove
  42. OnContextSave
  43. OnDocFormDelete
  44. OnDocFormPrerender
  45. OnDocFormRender
  46. OnDocFormSave
  47. OnDocPublished
  48. OnDocUnPublished
  49. OnEmptyTrash
  50. OnFileManagerBeforeUpload
  51. OnFileManagerUpload
  52. OnFileManagerDirCreate
  53. OnFileManagerDirRemove
  54. OnFileManagerDirRename
  55. OnFileManagerFileCreate
  56. OnFileManagerFileRemove
  57. OnFileManagerFileRename
  58. OnFileManagerFileUpdate
  59. OnFileManagerMoveObject
  60. OnHandleRequest
  61. OnInitCulture
  62. OnLoadWebDocument
  63. OnLoadWebPageCache
  64. OnManagerAuthentication
  65. OnManagerLogin
  66. OnManagerLoginFormPrerender
  67. OnManagerLoginFormRender
  68. OnManagerLogout
  69. OnManagerPageAfterRender
  70. OnManagerPageBeforeRender
  71. OnManagerPageInit
  72. OnMODXInit
  73. OnPageNotFound
  74. OnPageUnauthorized
  75. OnParseDocument
  76. OnPluginBeforeRemove
  77. OnPluginBeforeSave
  78. OnPluginEventRemove
  79. OnPluginFormDelete
  80. OnPluginFormPrerender
  81. OnPluginFormRender
  82. OnPluginFormSave
  83. OnPluginRemove
  84. OnPluginSave
  85. OnPropertySetBeforeRemove
  86. OnPropertySetBeforeSave
  87. OnPropertySetRemove
  88. OnPropertySetSave
  89. OnResourceAutoPublish
  90. OnResourceGroupBeforeRemove
  91. OnResourceGroupBeforeSave
  92. OnResourceGroupRemove
  93. OnResourceGroupSave
  94. OnRichTextBrowserInit
  95. OnRichTextEditorInit
  96. OnRichTextEditorRegister
  97. OnSiteRefresh
  98. OnSiteSettingsRender
  99. OnTemplateVarBeforeRemove
  100. OnTemplateVarBeforeSave
  101. OnTemplateVarRemove
  102. OnTemplateVarSave
  103. OnUserActivate
  104. OnUserBeforeRemove
  105. OnUserBeforeSave
  106. OnUserChangePassword
  107. OnUserFormDelete
  108. OnUserFormSave
  109. OnUserNotFound
  110. OnUserRemove
  111. OnUserSave
  112. OnWebAuthentication
  113. OnWebLogin
  114. OnWebLogout
  115. OnWebPageComplete
  116. OnWebPageInit
  117. 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...

Смотрите также

  1. Системные события
  2. OnBeforeCacheUpdate
  3. OnBeforeChunkFormDelete
  4. OnBeforeChunkFormSave
  5. OnBeforeDocFormDelete
  6. OnBeforeDocFormSave
  7. OnBeforeManagerLogout
  8. OnBeforeSaveWebPageCache
  9. OnBeforeWebLogout
  10. OnCacheUpdate
  11. OnChunkFormDelete
  12. OnChunkFormPrerender
  13. OnChunkFormRender
  14. OnChunkFormSave
  15. OnDocFormDelete
  16. OnDocFormPrerender
  17. OnDocFormRender
  18. OnDocFormSave
  19. OnDocPublished
  20. OnDocUnPublished
  21. OnLoadWebPageCache
  22. OnManagerLogin
  23. OnManagerLogout
  24. OnSiteRefresh
  25. OnUserChangePassword
  26. OnWebLogin
  27. OnWebLogout
  28. OnWebPagePrerender
  29. OnManagerPageBeforeRender
  30. OnTemplateVarBeforeSave
  31. OnTemplateVarSave
  32. OnTemplateVarBeforeRemove
  33. OnTemplateVarRemove
  34. OnBeforeEmptyTrash
  35. OnBeforeManagerLogin
  36. OnBeforeManagerPageInit
  37. OnBeforePluginFormDelete
  38. OnBeforePluginFormSave
  39. OnBeforeSnipFormDelete
  40. OnBeforeSnipFormSave
  41. OnBeforeTempFormDelete
  42. OnBeforeTempFormSave
  43. OnBeforeTVFormDelete
  44. OnBeforeTVFormSave
  45. OnBeforeUserActivate
  46. OnBeforeUserFormDelete
  47. OnBeforeUserFormSave
  48. OnBeforeWebLogin
  49. OnCategoryBeforeRemove
  50. OnCategoryBeforeSave
  51. OnCategoryRemove
  52. OnCategorySave
  53. OnChunkBeforeRemove
  54. OnChunkBeforeSave
  55. OnChunkRemove
  56. OnChunkSave
  57. OnContextBeforeRemove
  58. OnContextBeforeSave
  59. OnContextFormPrerender
  60. OnContextFormRender
  61. OnContextRemove
  62. OnContextSave
  63. OnEmptyTrash
  64. OnFileManagerBeforeUpload
  65. OnFileManagerUpload
  66. OnFileManagerDirCreate
  67. OnFileManagerDirRemove
  68. OnFileManagerDirRename
  69. OnFileManagerFileCreate
  70. OnFileManagerFileRemove
  71. OnFileManagerFileRename
  72. OnFileManagerFileUpdate
  73. OnFileManagerMoveObject
  74. OnHandleRequest
  75. OnInitCulture
  76. OnLoadWebDocument
  77. OnManagerAuthentication
  78. OnManagerLoginFormPrerender
  79. OnManagerLoginFormRender
  80. OnManagerPageAfterRender
  81. OnManagerPageInit
  82. OnPageNotFound
  83. OnPageUnauthorized
  84. OnParseDocument
  85. OnPluginBeforeRemove
  86. OnPluginBeforeSave
  87. OnPluginEventRemove
  88. OnPluginFormDelete
  89. OnPluginFormPrerender
  90. OnPluginFormRender
  91. OnPluginFormSave
  92. OnPluginRemove
  93. OnPluginSave
  94. OnPropertySetBeforeRemove
  95. OnPropertySetBeforeSave
  96. OnPropertySetRemove
  97. OnPropertySetSave
  98. OnResourceAutoPublish
  99. OnResourceGroupBeforeRemove
  100. OnResourceGroupBeforeSave
  101. OnResourceGroupRemove
  102. OnResourceGroupSave
  103. OnRichTextBrowserInit
  104. OnRichTextEditorInit
  105. OnRichTextEditorRegister
  106. OnSiteSettingsRender
  107. OnUserActivate
  108. OnUserBeforeRemove
  109. OnUserBeforeSave
  110. OnUserFormDelete
  111. OnUserFormSave
  112. OnUserNotFound
  113. OnUserRemove
  114. OnUserSave
  115. OnWebAuthentication
  116. OnWebPageComplete
  117. 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

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • eydolan
  • Lefthandmedia
  • Murray Wood
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$306 per month—let's make that $500!

Learn more