Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Это дополнение эмулирует работу посредников. Т.е. создаются дополнительные слои, обрабатывающие запрос. Также они позволяют взаимодействовать с ответом перед выводом его пользователю.
В Middlewares доступны 2 типа объектов — посредники и обработчики событий.
Посредники представляют собой классы, которые размещаются в папке, указанной в системной настройке middlewares_path. Вот пример класса посредника:
Метод beforeResponse() посредника вызывается на событие OnWebPagePrerender, метод OnWebPageComplete() — на событие OnWebPageComplete.
К сожалению, до версии MODX 2.5.8 из-за бага в ядре системы этот функционал не работает.
Статья на modx.pro.
В Middlewares доступны 2 типа объектов — посредники и обработчики событий.
Посредники
Посредники бывают глобальными, обрабатывающие каждый запрос, и ресурсными, которые срабатывают только для указанных ресурсов. Первые указываются в системной настройке middlewares_global_middlewares — нужно указать их через запятую в нужной последовательности. Вторые указываются в специальной TV ресурса под названием middlewares. В качестве имени посредника указывается название файла класса без расширения .php.Посредники представляют собой классы, которые размещаются в папке, указанной в системной настройке middlewares_path. Вот пример класса посредника:
// Файл test.php
class TestMiddleware extends Middlewares\Middleware
{
public function onRequest() {}
public function beforeResponse() {}
public function afterResponse() {}
}
return 'TestMiddleware';Класс посредника должен наследоваться от абстрактного класса Middlewares\Middleware. В классе доступен объект $this->modx. Метод onRequest() будет вызван на событие OnMODXInit для глобального посредника и на событие OnLoadWebDocument для посредника ресурса.Метод beforeResponse() посредника вызывается на событие OnWebPagePrerender, метод OnWebPageComplete() — на событие OnWebPageComplete.
Обработчики событий
Обработчики событий представляют собой классы PHP и предназначены для замены плагинов MODX. Для того, чтобы обработчик сработал на определённое событие, нужно создать одноименный метод.К сожалению, до версии MODX 2.5.8 из-за бага в ядре системы этот функционал не работает.
Статья на modx.pro.
1.1.1-pl
- Fixed possible fatal error when updating MODX in the cli mode.
1.1.0-pl
- Added an ability to run listeners before usual MODX plugins.
- Global middlewares and listeners can be used in the "mgr" context.
1.1.0-beta
- Adds event listeners based on classes.
1.0.0-pl
- Initial release.




Последние обсуждения в сообществе MODX.pro