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

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

Но все же есть пара моментов. И вот основной:

$modx->smarty->display(«tpl/{$tpl}»); return ""; // отпрвить $ничего на вывод через modx-парсер. :)

Таким образом рушится механизм кеширования MODX, так как он не получает отрабатываемого контента. Ежели вы хотите именно отключить MODX-парсер, то есть более лаконичное решение — системная настройка parser_class. Она учитывается в методе MODx::getParser()

public function getParser() {
    return $this->getService('parser', $this->getOption('parser_class', null, 'modParser'), 
        $this->getOption('parser_class_path', null, ''));
}

То есть пишете парсер на замену modParser и все. А в нем, где надо, облегчаете методы по максимум, чтобы просто возвращали по минимуму и все.

Только вешайте его именно на внешний контекст, то есть в настройки контекста прописывайте, а не в системные, чтобы в mgr работал родной парсер, а во фронте ваш. Потому что системный парсер используется в том числе и для обработки системных настроек и т.п.