Все-таки я пока остановился на таком механизме: modxclub.ru/topics/ajax-katalog-na-praktike-1258.html Конечно и он не идеальный, но в целом очень даже работоспособный. Ведь не весь сайт нужен для подгрузки, а только какие-то определенные разделы. И вообще, в современных JS-либах подгружают весь контент страницы, просто из всего полученного контента выдергивают нужные Ajax-блоки и вставляют куда надо (реализуется просто на уровне таг-селекторов).

Саш, а ты проверял на практике? Ведь здесь не все так просто. Частичный вывод контента и т.п. По-моему не проканает нормальной работы.

На сколько я знаю, нет в смарти ни exit, ни die, ни даже return. Поэтому хочется или нет, но придется юзать if/else.

можно в контроллере прописать $modx->smarty->allow_php_tag = true; и в шаблоне тогда можно будет вставить {php} die; {/php}

Это JSON-синтаксис, который по-моему с версии PHP-5.4 стал поддерживаться. Да, убрал его, ибо на стареньких пых-пыхах будет жестко обижаться.

Это уже к Джейсону Коварду. У него этот метод когда-то в xPDO болтался. К нам он прицепом докатился.

Развивай далее запрос как хочется. :)

Надо поменять на array( "where" => array( "id" => $product->get('resource_id'),
), "current" => 1, "showhidden" => 1, "showunpublished" => 1, ) А иначе корзина не работает.