Задача состоит в том чтобы быстро менять внешнее оформление целого сайта, при этом в каждом отдельном шаблоне могут быть разная HTML структура, тоесть нужно менять не просто CSS, но и шаблоны. По умолчанию все шаблоны сохраняются в БД и если сделать их статичними, то можно просто копировать с заменой tpl файлы. Но это отчасти не удобно, ведь старые шаблоны при этом затираются.
Другое дело использовать для этих целей modxSmarty, ведь там можно просто указать путь к другому шаблону, при этом и овцы целы и волк сыт, тоесть старый шаблон мы не удаляем, а просто указываем с какой директории брать файлы для нового шаблона. Весьма удобно.
Просмотрев уроки Николая я понял что там существовали некие тормоза из за использования стандарного подхода, когда шаблон сохраняется в БД и используются стандартные MODX теги.
При этом проверив файлы кеша по одному и второму ресурсу я не обраружил там стандартных тегов как было в уроке — видно разработчики MODX уже поправили это дело.
Главная страница со modxSmarty шаблоном
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{config name="site_name"} - {field name="pagetitle"}</title>
</head>
<body>
<h1>{field name="pagetitle"}</h1>
{snippet name="Wayfinder" params="startId=`0`"}
{field name="content"}
<ul>
<li>[^qt^] - Query Time - Shows how long MODx took talking to the database</li>
<li>[^q^] - Query Count -Shows how many database queries MODX made</li>
<li>[^p^] - Parse Time - Shows how long MODX took to parse the page</li>
<li>[^t^] - Total Time - Shows the total time taken to parse/ render the page</li>
<li>[^s^] - Source - Shows the source of page, whether is database or cache.</li>
</ul>
</body>
</html>
А Не главная — обычный шаблон MODX, который хранится в БД
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>[[++site_name]] - [[*pagetitle]]</title>
</head>
<body>
<h1>[[*pagetitle]]</h1>
[[Wayfinder? &startId=`0`]]
[[*content]]
<ul>
<li>[^qt^] - Query Time - Shows how long MODx took talking to the database</li>
<li>[^q^] - Query Count -Shows how many database queries MODX made</li>
<li>[^p^] - Parse Time - Shows how long MODX took to parse the page</li>
<li>[^t^] - Total Time - Shows the total time taken to parse/ render the page</li>
<li>[^s^] - Source - Shows the source of page, whether is database or cache.</li>
</ul>
</body>
</html>
Для создания Smarty шаблона я создал обычный шаблон, где вызывается сниппет modxSmarty со следующим содержимым
[[smarty? &tpl=`index.tpl`]]
При таком подходе использования modxSmarty есть определённая выгода, но при этом какой-то разницы в скорости работы я не увидел. Я понимаю что здесь нагрузка минимальная — вывод содержимого одной странички, но всё же.
А теперь сам вопрос — всё ли я делаю правильно?
Если что-то делаю не так, тогда подскажите как нужно.
Тоесть мне нужно назначать отдельный шаблон — отдельным ресурсам.