Добрый день! Интересный эксперимент :) Но все же

Добрый день! Интересный эксперимент :) Но все же есть пара моментов. И вот основной: modx->smarty->display(«tpl/{tpl}»); return ""; // отпрвить ничего на вывод через modx-парсер. :) Таким образом рушится механизм кеширования MODX, так как он не получает отрабатываемого контента. Ежели вы хотите именно отключить MODX-парсер, то есть более лаконичное решение — системная настройка parser_class. Она учитывается в методе MODx::getParser() public function getParser() { return this->getService('parser', this>getOption(parserclass,null,modParser),this->getOption('parser_class', null, 'modParser'), this->getOption('parser_class_path', null, '')); } То есть пишете парсер на замену modParser и все. А в нем, где надо, облегчаете методы по максимум, чтобы просто возвращали по минимуму и все. Только вешайте его именно на внешний контекст, то есть в настройки контекста прописывайте, а не в системные, чтобы в mgr работал родной парсер, а во фронте ваш. Потому что системный парсер используется в том числе и для обработки системных настроек и т.п.