Создание дополнительных MODX шаблонов

Создание дополнительных MODX шаблонов MODX Revo

В данном уроке мы разберемся с тем как создать дополнительные шаблоны в MODX Revolution. И разберем для чего это делать.

Для чего создавать дополнительные шаблоны, если все можно создать на одном

Если у вас визитка из пары страниц, то можно все создать на базе одного шаблона. В принципе даже, если сайт довольно большой все равно можно обойтись 1 универсальным шаблоном, при использовании того же PageBlock или конструктора блоков на MIGX.

В первом случае нужны будут модификаторы и различные дополнительные условия чтобы при разном типе страниц были разные блоки. Во втором случае нужно будет, каждый раз собирать дизайн из блоков. Как по мне и то и другое не лучший выход.

Как вы знаете к каждому шаблону можно назначить определенные TV, свою верстку и т.д. Вот именно поэтому лучше все же делать отдельные шаблоны для разных типов контента (статья, категория, товар, товарная категория, и т.д.).

Создание дополнительных MODX шаблонов.

Если заглянуть в папку с шаблоном, то там вы увидите html файлы с различной разметкой и информацией.

flexStart

В нашем случае все нужные, а вот в премиум шаблонах их может быть тьма:

файлы html шаблона Porto

И в таких случаях обычно не нужно превращать все в отдельные шаблоны, некоторые из них можно совместить в 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:

Содержимое блока 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 и выведем их при помощи сниппета, в одном из следующих уроков).

Можете по такому же принципу сразу создать шаблоны для: статей, категорий блога — я пока создавать не буду и создам (покажу как создать) их в следующих уроках.

В следующем уроке создадим основные разделы и страницы сайта.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( 1 оценка, среднее 5 из 5 )
Web-Revenue.ru
Добавить комментарий