В данном уроке мы разберемся с тем как создать дополнительные шаблоны в MODX Revolution. И разберем для чего это делать.
Для чего создавать дополнительные шаблоны, если все можно создать на одном
Если у вас визитка из пары страниц, то можно все создать на базе одного шаблона. В принципе даже, если сайт довольно большой все равно можно обойтись 1 универсальным шаблоном, при использовании того же PageBlock или конструктора блоков на MIGX.
В первом случае нужны будут модификаторы и различные дополнительные условия чтобы при разном типе страниц были разные блоки. Во втором случае нужно будет, каждый раз собирать дизайн из блоков. Как по мне и то и другое не лучший выход.
Как вы знаете к каждому шаблону можно назначить определенные TV, свою верстку и т.д. Вот именно поэтому лучше все же делать отдельные шаблоны для разных типов контента (статья, категория, товар, товарная категория, и т.д.).
Создание дополнительных MODX шаблонов.
Если заглянуть в папку с шаблоном, то там вы увидите html файлы с различной разметкой и информацией.
В нашем случае все нужные, а вот в премиум шаблонах их может быть тьма:
И в таких случаях обычно не нужно превращать все в отдельные шаблоны, некоторые из них можно совместить в 1.
Пока предлагаю создать только один шаблон «Статика» — для обычных статических страниц: о компании, политика конфиденциальности, контактов и т.п. на основе inner-page.html. Дальше в других уроках будем создавать еще шаблоны, по мере необходимости.
Чтобы создать новый шаблон, перейдите на вкладку «Элементы» и нажмите на значок «Новый Шаблон» или на плюсик на против «шаблоны», либо щелкните ПКМ на «Шаблоны» и выберите «Новый шаблон» или «Быстро создать шаблон» для создания нового шаблона. Масло масленое 🙂 ну как есть)
Либо просто продублировать (скопировать) начальный шаблон. Делается это очень просто, щелкаем правой кнопкой мыши по основному шаблону, далее в выпадающем меню выбираем «Копировать», в открывшемся окошке вводим имя нового шаблона и сохраняем.
Внимание! Когда мы делаем копии шаблонов, то все добавленные к нему дополнительные поля автоматом назначаются и этому шаблону. С другой стороны к новому (не копии) шаблону опять же нужно добавлять TV если они должны использоваться в нем. Сделать это не сложно (включить или наоборот отключить TV).
Называем шаблон: Статика, в поле Код шаблона (HTML): пишем вызов чанка (tpl): [[$tpl]] и сохраняем.
Кто делает на феном, помещаем в поле Код шаблона (HTML), следующую конструкцию:
{extends 'template:base'}
{block 'content'}
здесь будет нужный контент
{/block}
Кто не читал уроки про чанки, скорее всего (99%) не понимает что мы делаем, советую почитать там описана хитрая система натяжки, которая будет подхватывать чанки с именами tpl.id-шаблона (или расширять шаблон за счет базового)..
Теперь создаем чанк tpl.2 (где 2 это id только что созданного шаблона) и помещаем в него код всего что не попадает под сквозные элементы из inner-page.html, в нашем случае это все что в main:
Сразу выведем стандартные поля ресурса: «Заголовок» и «Содержимое», получим:
<!-- ======= Breadcrumbs ======= -->
<section class="breadcrumbs">
<div class="container">
<ol>
<li><a href="/">Главная</a></li>
<li>[[*pagetitle]]</li>
</ol>
<h2>[[*pagetitle]]</h2>
</div>
</section><!-- End Breadcrumbs -->
<section class="inner-page">
<div class="container">
[[*content]]
</div>
</section>
Кто делает на fenon вместо [[*pagetitle]]
и [[*content]]
пишем {$_modx->resource.pagetitle}
и {$_modx->resource.content}
. И в шаблон в место здесь будет нужный контент
помещаем выше указанное содержимое.
Тут у нас хлебные крошки, мы их пока сделали полу динамическими — в дальнейшем скорее всего встроим в основной шаблон — tpl и выведем их при помощи сниппета, в одном из следующих уроков).
Можете по такому же принципу сразу создать шаблоны для: статей, категорий блога — я пока создавать не буду и создам (покажу как создать) их в следующих уроках.
В следующем уроке создадим основные разделы и страницы сайта.