Кстати, обрати внимание, что в том же Smarty-плагине {snippet} имеется такой параметр как parse. Если его передать со значением true {snippet name=mysnippet parse=parse}, то он не просто отработает указанный сниппет, но еще и полностью пропарсит результат (то есть если в результате будут MODX-теги, то он все отработает). Чтобы убедиться, элементарно в шаблоне пропиши {snippet name=MetaX} (само собой MetaX надо установить, если вдруг не используешь его). А после захода на страницу загляни в кеш документа (core/cache/resource/web/resources/).
Вот такой кеш примерно будет:
'_content' => '<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- base xhtml4 --> <base href=".........." /> <!-- meta --> <meta name="keywords" content="[[$AllKeywords:notempty=`[[$AllKeywords:strip]], `]]" /> ........ [[+metax.css]] [[+metax.rss]] <!-- end MetaX output -->
А вот если указать parse=true, то и эти плейсхолдеры все будут отработаны еще на уровне Smarty-шаблона, и в кеше уже будет только конечный HTML.