Значение плагинов трудно переоценить. На самом деле использование этих «невидимых помощников» позволяет аккуратно подправлять поведение ядра системы точно настолько, насколько это нужно для целей конкретного проекта — и совершенно без модификации кода ядра системы (что частенько приходится делать с многими другими CMS). А раз ядро остается нетронутым, то меньше проблем с безопасностью, и можно спокойно обновлять систему, не боясь потерять патчи. Ave MODx! :)
Вот, кстати, список событий, на которые можно навесить обработку. На случай уточню: на каждое событие можно повесить несколько плагинов, задав порядок их отработки по наступлению события, и каждый плагин может быть повешен более чем на одно событие. Итак, список:
Template Service Events
- OnDocPublished
- OnDocUnPublished
- OnLoadWebDocument
- OnLogPageHit
- OnParseDocument
- OnWebPageComplete
- OnWebPageInit
- OnWebPagePrerender
- OnBeforeCacheUpdate
- OnBeforeSaveWebPageCache
- OnCacheUpdate
- OnLoadWebPageCache
- OnBeforeWebLogin
- OnBeforeWebLogout
- OnWebAuthentication
- OnWebChangePassword
- OnWebCreateGroup
- OnWebDeleteUser
- OnWebLogin
- OnWebLogout
- OnWebSaveUser
- OnBeforeManagerLogin
- OnBeforeManagerLogout
- OnBeforeManagerPageInit
- OnManagerAuthentication
- OnManagerChangePassword
- OnManagerCreateGroup
- OnManagerDeleteUser
- OnManagerLogin
- OnManagerLoginFormPrerender
- OnManagerLoginFormRender
- OnManagerLogout
- OnManagerPageInit
- OnManagerSaveUser
- OnManagerWelcomeHome
- OnManagerWelcomePrerender
- OnManagerWelcomeRender
- OnFileManagerUpload
- OnPageNotFound
- OnPageUnauthorized
- OnSiteRefresh
- OnBeforeChunkFormDelete
- OnBeforeChunkFormSave
- OnChunkFormDelete
- OnChunkFormPrerender
- OnChunkFormRender
- OnChunkFormSave
- OnBeforeDocDuplicate
- OnBeforeDocFormDelete
- OnBeforeDocFormSave
- OnBeforeEmptyTrash
- OnCreateDocGroup
- OnDocDuplicate
- OnDocFormDelete
- OnDocFormPrerender
- OnDocFormRender
- OnDocFormSave
- OnEmptyTrash
- OnStripAlias
- OnBeforeModFormDelete
- OnBeforeModFormSave
- OnModFormDelete
- OnModFormPrerender
- OnModFormRender
- OnModFormSave
- OnBeforePluginFormDelete
- OnBeforePluginFormSave
- OnPluginFormDelete
- OnPluginFormPrerender
- OnPluginFormRender
- OnPluginFormSave
- OnRichTextEditorInit
- OnRichTextEditorRegister
- OnBeforeSnipFormDelete
- OnBeforeSnipFormSave
- OnSnipFormDelete
- OnSnipFormPrerender
- OnSnipFormRender
- OnSnipFormSave
- OnFriendlyURLSettingsRender
- OnInterfaceSettingsRender
- OnMiscSettingsRender
- OnSiteSettingsRender
- OnUserSettingsRender
- OnBeforeTVFormDelete
- OnBeforeTVFormSave
- OnTVFormDelete
- OnTVFormPrerender
- OnTVFormRender
- OnTVFormSave
- OnBeforeTempFormDelete
- OnBeforeTempFormSave
- OnTempFormDelete
- OnTempFormPrerender
- OnTempFormRender
- OnTempFormSave
- OnBeforeUserFormDelete
- OnBeforeUserFormSave
- OnUserFormDelete
- OnUserFormPrerender
- OnUserFormRender
- OnUserFormSave
- OnBeforeWUsrFormDelete
- OnBeforeWUsrFormSave
- OnWUsrFormDelete
- OnWUsrFormPrerender
- OnWUsrFormRender
- OnWUsrFormSave