Активный шаблон

Урок 21 из 285
Автор: Марина Павлова
Сложность урока:
5 уровень - сложно, но не смертельно. Нужно подумать, вспоминать уже пройденный материал, собрать в кучу внимание, немного терпения и всё получится.
5 из 5
Дата изменения: 12.07.2021
Просмотров: 470
Ограничения по редакциям: Ограничений нет

В системе возможно использование активных шаблонов. Активный шаблон - это шаблон, который при создании страницы запрашивает дополнительные данные прямо в мастере создания страницы:

Важно! Этот урок является ознакомительным. Написание логики работы активного шаблона рассмотрено в уроке не будет, т.к. требует навыков программирования. Мы изучим только структуру файлов шаблона, как подключить его в меню и работать с языковыми файлами. А также посмотрим простой пример создания шаблона с несложной логикой на основе существующего штатного шаблона.

Если Вы всё же решили попробовать создать свой активный шаблон, то имейте ввиду, что при наличии ошибок в шаблоне, публичная часть сайта перестанет работать и отобразит ошибку Для поиска ошибки можно включить режим отладки 'debug' => true в файле /bitrix/.settings.php .

  Активный шаблон

Понять, что такое активный шаблон и как он устроен проще всего на примере. В шаблонах штатной установки дистрибутива "1С-Битрикс: Управление сайтом" есть два таких примера:

  • \bitrix\templates\.default\page_templates\forum в шаблоне .default;
  • \bitrix\templates\eshop_bootstrap_v4\page_templates\bootstrap в шаблоне eshop_bootstrap_v4.

Рассмотрим подробнее шаблон bootstrap. В папке содержится файл template.php непосредственно с логикой шаблона и папка lang с файлами языковых сообщений.


Содержимое файла шаблона template.php

Результатом работы этого шаблона является выбор сетки создаваемой страницы в местере создания. В зависимости от того, какой вариант будет выбран, Контент-менеджер получит соответствующий результат в визуальном редакторе:

Примечание: Создать свой активный шаблон можно по примеру вышеуказанных штатных шаблонов.

  Подключение шаблона и языковые файлы

Для добавления шаблона в меню, не требуется никаких дополнительных действий (как например внесение записи в .content.php для пассивного шаблона). Достаточно создать папку и файл шаблона. Названия и подписи можно указать прямо в шаблоне или с помощью файла с языковыми сообщениями.

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

Например для шаблона bootstrap путь к файлу с русскими языковыми фразами такой: /bitrix/templates/eshop_bootstrap_v4/page_templates/bootstrap/lang/ru/template.php

<?
$MESS ['bt_wizard_name'] = "Шаблоны сеток страницы";
$MESS ['bt_wizard_title'] = "Раздел с шаблоном сетки";
$MESS ['BT_TYPE'] = "Выберите вариант шаблона сетки страницы";
$MESS ['BT_COL_1'] = "Одна колонка";
$MESS ['BT_COL_2_1'] = "Правое меню";
$MESS ['BT_COL_1_2'] = "Левое меню";
$MESS ['BT_COL_1_2_1'] = "Два меню";
$MESS ['BT_COL_1_1'] = "Две колонки";
$MESS ['BT_COL_1_1_1'] = "Три колонки";
$MESS ['BT_COL_5'] = "Главная";
$MESS ['BT_COL_4'] = "Мозаика";
?>

Места использования этих фраз Вы можете найти в шаблоне по методу GetMessage.

  Пример создания

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

  • Оставить или убрать изображение из шаблона;
  • Добавлять или нет секцию с формой обратной связи.

*Дополнительное задание: За основу мы возьмем логику работы шаблона bootstrap, рассмотренного в уроке. Для понимания, что мы изменили в этом примере, сравните эти два шаблона.
  1. Скопируем папку шаблона bootstrap и разместим копию в том же месте (папка page_templates). Переименуем папку в new_template;
  2. Откроем файл template.php и внесём в него правки.

    Содержимое файла шаблона template.php с комментариями

  3. Отредактируем файл с языковыми сообщениями в соответствии с нашим новым шаблоном:
    <?
    $MESS ['bt_wizard_name'] = "Объявление";
    $MESS ['bt_wizard_title'] = "Уточнение по шаблону";
    $MESS ['BT_TYPE_1'] = "Оставить стандартное изображение?";
    $MESS ['BT_COL_1_1'] = "Да";
    $MESS ['BT_COL_1_2'] = "Нет, установлю своё";
    $MESS ['BT_TYPE_2'] = "Нужен блок формы обратной связи?";
    $MESS ['BT_COL_2_1'] = "Да, нужен";
    $MESS ['BT_COL_2_2'] = "Нет, не нужен";
    ?>
  4. Шаблон готов.

Проверим работу шаблона. В мастере создания страницы появился новый шаг:

В зависимости от выбора, Контент-менеджер получит разный результат в визуальном редакторе.



Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас