В общем, я пробовал по всякому. Ничего нормального тут не получается. Но поделюсь одним нестабильным элементом: Весь главный шаблон оборачиваем в блок, к примеру resource. Далее создаем новый промежуточный layout-wraper.tpl с таким содержимым {extends "layout.tpl"} {block name="resource"} {if $is_ajax} {block name=content} {$smarty.block.parent} {/block} {else} {$smarty.block.parent} {/if} {/block} Здесь важно, чтобы блока content не было в главном layout-шаблоне. Вот тогда при вызове какого-либо более глубокого расширяемого шаблона по условию выводился только блок content. Но у меня это было очень не стабильно. Это скорее бага, чем фича. Если захочешь с этим поэкспериментировать, то до конечного шаблона создай еще один расширяющий шаблон, в котором будет только расширение прописано {extends ...} и все. Мне сейчас совсем некогда ковырять глубоко Смарти, чтобы объяснить такое странное его поведение. Коммент оставляю, чтобы возможно на досуге вернуться к изучению этого интересного явления.

Наследование прописывается в шапке файла. {extends ...}. Нельзя по условию наследовать. Но можно по условию инклюдить файлы-шаблоны.

Пробуй наследовать другой (пустой) layout, на основании проверки на HTTP_X_REQUESTED_WITH…

Просто хочется, чтобы в нем этой конструкции и проверки вообще небыло.

Чет не получилось у меня вырвать конструкцию if/else с проверкой на HTTP_X_REQUESTED_WITH из основного, всеми наследуемого layout.tpl.

Интересная идея я сейчас с этим работаю. У меня задача при штатном переходе на сайт загружать страницу нормально шаблоном. А далее все переходы по ссылкам в внутри сайта перехватываются JS Ext и тот должен запросить по ссылке Json данные страницы и перестроить страницу. Плагины не подходят?

А давно уже не сижу на modxcloud, не в курсе их движений.

Спасибо за ответ. Я хотел только уточнить про дев-аккаунт.

Прошел уже почти год и скорее всего не актуально. Качайте zip-архив отсюда, если нужен дапм магазина: shopmodx.modxclub.ru/download/

Не понял, как это сделать. Там дается 21 день на тесты — далее переход на платный план.