четверг, 17 декабря 2009 г.

Плагины (plugins) в MODx

Плагины (plugins) — это то, что делает MODx столь удобным инструментом в руках знающих его возможности. Возможна путаница с терминами: плагинами во многих CMS называют подключаемые модули, отвечающие за вывод части страницы. В MODx слово «плагин» относится к обработчикам неких системных событий (например, плагин может быть выполнен прямо до либо сразу после логина веб-пользователя, либо в момент, когда публикуется документ). При этом плагины имеют возможность изменять обрабатываемую страницу, что позволяет, например, добавить функционал расстановки типографики в выводимой страницы.

Значение плагинов трудно переоценить. На самом деле использование этих «невидимых помощников» позволяет аккуратно подправлять поведение ядра системы точно настолько, насколько это нужно для целей конкретного проекта — и совершенно без модификации кода ядра системы (что частенько приходится делать с многими другими CMS). А раз ядро остается нетронутым, то меньше проблем с безопасностью, и можно спокойно обновлять систему, не боясь потерять патчи. Ave MODx! :)

Вот, кстати, список событий, на которые можно навесить обработку. На случай уточню: на каждое событие можно повесить несколько плагинов, задав порядок их отработки по наступлению события, и каждый плагин может быть повешен более чем на одно событие. Итак, список:

Template Service Events
  • OnDocPublished
  • OnDocUnPublished
  • OnLoadWebDocument
  • OnLogPageHit
  • OnParseDocument
  • OnWebPageComplete
  • OnWebPageInit
  • OnWebPagePrerender
Cache Service Events
  • OnBeforeCacheUpdate
  • OnBeforeSaveWebPageCache
  • OnCacheUpdate
  • OnLoadWebPageCache
Web Access Service Events
  • OnBeforeWebLogin
  • OnBeforeWebLogout
  • OnWebAuthentication
  • OnWebChangePassword
  • OnWebCreateGroup
  • OnWebDeleteUser
  • OnWebLogin
  • OnWebLogout
  • OnWebSaveUser
Manager Access Events
  • OnBeforeManagerLogin
  • OnBeforeManagerLogout
  • OnBeforeManagerPageInit
  • OnManagerAuthentication
  • OnManagerChangePassword
  • OnManagerCreateGroup
  • OnManagerDeleteUser
  • OnManagerLogin
  • OnManagerLoginFormPrerender
  • OnManagerLoginFormRender
  • OnManagerLogout
  • OnManagerPageInit
  • OnManagerSaveUser
  • OnManagerWelcomeHome
  • OnManagerWelcomePrerender
  • OnManagerWelcomeRender
Parser Service Events
  • OnFileManagerUpload
  • OnPageNotFound
  • OnPageUnauthorized
  • OnSiteRefresh
Chunks
  • OnBeforeChunkFormDelete
  • OnBeforeChunkFormSave
  • OnChunkFormDelete
  • OnChunkFormPrerender
  • OnChunkFormRender
  • OnChunkFormSave
Documents
  • OnBeforeDocDuplicate
  • OnBeforeDocFormDelete
  • OnBeforeDocFormSave
  • OnBeforeEmptyTrash
  • OnCreateDocGroup
  • OnDocDuplicate
  • OnDocFormDelete
  • OnDocFormPrerender
  • OnDocFormRender
  • OnDocFormSave
  • OnEmptyTrash
  • OnStripAlias
Modules
  • OnBeforeModFormDelete
  • OnBeforeModFormSave
  • OnModFormDelete
  • OnModFormPrerender
  • OnModFormRender
  • OnModFormSave
Plugins
  • OnBeforePluginFormDelete
  • OnBeforePluginFormSave
  • OnPluginFormDelete
  • OnPluginFormPrerender
  • OnPluginFormRender
  • OnPluginFormSave
RichText Editor
  • OnRichTextEditorInit
  • OnRichTextEditorRegister
Snippets
  • OnBeforeSnipFormDelete
  • OnBeforeSnipFormSave
  • OnSnipFormDelete
  • OnSnipFormPrerender
  • OnSnipFormRender
  • OnSnipFormSave
System Settings
  • OnFriendlyURLSettingsRender
  • OnInterfaceSettingsRender
  • OnMiscSettingsRender
  • OnSiteSettingsRender
  • OnUserSettingsRender
Template Variables
  • OnBeforeTVFormDelete
  • OnBeforeTVFormSave
  • OnTVFormDelete
  • OnTVFormPrerender
  • OnTVFormRender
  • OnTVFormSave
Templates
  • OnBeforeTempFormDelete
  • OnBeforeTempFormSave
  • OnTempFormDelete
  • OnTempFormPrerender
  • OnTempFormRender
  • OnTempFormSave
Users
  • OnBeforeUserFormDelete
  • OnBeforeUserFormSave
  • OnUserFormDelete
  • OnUserFormPrerender
  • OnUserFormRender
  • OnUserFormSave
Web Users
  • OnBeforeWUsrFormDelete
  • OnBeforeWUsrFormSave
  • OnWUsrFormDelete
  • OnWUsrFormPrerender
  • OnWUsrFormRender
  • OnWUsrFormSave

Комментариев нет:

Отправить комментарий