Как установить шаблон на 1с битрикс. Создаем шаблон битрикс — быстрый старт. Выносим языковое фразы

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

Шаблон битрикс — это набор php-файлов, файлов стилей, изображений, а также шаблонов компонентов. Все шаблоны расположены в папке /bitrix/templates/ и могут применяться как один шаблон к нескольким сайтам, так и несколько шаблонов к одному сайту. На странице Настройки → Настройки продукта → Шаблоны сайтов в административной панели отображается список доступных в системе шаблонов.

Установка нового шаблона

Шаблон битрикс представляет собой архив.tar.gz, содержащий все необходимые php-файлы, файлы стилей, скрипты и картинки. Установить новый шаблон можно, как просто распаковав архив в папку /bitrix/templates/, так и воспользовавшись формой на странице Настройки → Настройки продукта → Шаблоны сайтов в административной панели битрикс. На этой странице необходимо нажать на кнопку Загрузить шаблон, выбрать на локальном диске архив с шаблоном и ввести символьный код шаблона.

На рисунке 1 показан список шаблонов в административной панели, на рисунке 2 — форма добавления нового шаблона.

После гарузки архива он автоматически распакуется в папку /bitrix/templates/ и будет отображаться в списке шаблонов в админке.

При загрузке шаблона можно выбрать сайт, к которому данный шаблон будет применяться по умолчанию.

Применение шаблона к текущему сайту

После того, как шаблон загружен и добавлен в систему, его можно применить к одному из сайтов. Для этого необходимо в административной панели на странице Настройки / Настройки продукта / Список сайтов выбрать сайт, для которого должен быть применен шаблон (на рисунке 3 показан список сайтов в админке).

Откроется форма настройки сайта. Последними параметрами этой формы являются настройки шаблонов сайта. Здесь можно выбрать один или несколько шаблонов, которые будут применяться для данного сайта.

Условия применения шаблонов

Для того, чтобы в рамках одного сайта при разных условиях использовались разные шаблоны, на форме настройки сайта можно указать условия применения шаблона. В системе предусмотрены следующие типы условий: Для папки или файла, Для групп пользователей, Период времени, Параметр в URL, Выражение PHP. Рассмотрим каждое из них детальнее:

Для папки или файла — это условие следует применять, когда разные шаблоны должна применяться для разный страниц и разделов. Для того, чтобы шаблон применялся только для раздела личного кабинета пользователя, в качестве значения этого условия следует указать — “/personal/” — путь к разделу от корневой папки, в котором находится раздел “Личный кабинет”. Если шаблон должен отличаться только для страницы с 404 ошибкой, в качестве значения условия следует указать — “/404.php”.

Для групп пользователей — частая задача, когда внешний вид сайта должен отличаться для менеджеров и обычных посетителей, решается с помощью условия этого типа. В качестве значения свойства следует указать группу пользователей, например, “Контент-редакторы”. Посетитель, авторизованный как пользователь из группы Контент-редакторы будет видеть другой внешний вид сайта, нежели все остальный посетители.

Период времени — хороший пример использования данного условия — новогодняя тема для сайта. Если новогодний шаблон должен применяться на сайте в течении периода времени с 25 декабря по 10 января, нужно указать этот диапазон в качестве згначения условия типа Период времени. После окончания периода шаблон автоматически сменится на шаблон по умолчанию.

Параметр в URL — чаще всего этот тип условия условия используется для создания версии для печати или для тестирования шаблона. Для создания использования шаблона для печати в качестве значения условия этого типа следует указать “print=Y”. Для тестирования нового шаблона в качестве условия можно указать “test=Y” — и на любой странице, если передан параметр test равный Y будет использоваться тестовый шаблон.

Выражение PHP — в качестве значения этого условия может выступать любое выражение PHP, функуия API Битрикс.

Шаблоны сайтов применяются в соответствии со значением индекса сортировки. Если для страницы может быть использовано несколько шаблонов, будет выбран тот, что имеет больший индекс сортировки. Поэтому внимательно указывайте сортировку шаблонов — неправильная расстановка индексов сортировки может привести к неприятным ошибкам.

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

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

В этом посте я опишу свою методику создания шаблона для битрикс. Она немного отличается от рекомендуемой разработчиками, и выражается это, прежде всего, в минимальном использовании админки. Предполагается, что у нас есть сверстанный макет сайта, установленная на локальной машине cms, более функциональный аналог блокнота и хороший файловый менеджер (не проводник:)

Почему я не люблю админку битрикс — во-первых она очень тяжелая, во-вторых плохо приспособлена для создания шаблонов. Встроенный относительно недавно визуальный редактор содержит значительные ограничения для использования. Особенно порадовала фраза «шаблоны демонстрационной версии адаптированы для использования в этом режиме» — смысл «затачивать» шаблон под редактор непонятен.

Итак, приступим к самому главному.

Этап первый — неинтересный

Тут предполагается долгое, вдумчивое ознакомление с мануалами (качать с dev.1c-bitrix.ru) и успешное прохождение курса «Интеграция». После изучения часть вопросов у Вас должна отпасть.

Теперь перейдем к практике.

Этап второй — создаем файлы

Файловую составляющую будем делать ручками — так быстрее и удобнее. Шаблоны хранятся в директории /bitrix/templates/, тут надо создать каталог для своего творения, например test. Внутри него размещаем:
- каталог images — для картинок шаблона (которые не зависят от просматриваемой страницы), незачем их хранить в публичной части
- каталог include_areas — для включаемых файлов
- каталог page_templates — для образцов включаемых областей
- файл header.php — часть шаблона ДО контента
- файл footer.php — часть шаблона ПОСЛЕ контента
- файл description.php — название и описание шаблона
- файл .styles.php — описания стилей для визуального редактора страниц
- файл template_styles.css — стили шаблона
- файл styles.css — стили для контента и включаемых областей

Этап третий — заполняем файлы

Картинки сразу пихаем в images, все стили css в template_styles.css, потом из него выберем необходимый минимум в styles.css. Я всегда стараюсь стили шаблона помещать в template_styles, потому что он подключается последним и случайное переопределение не сломает каркас сайта.

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

По пунктам:
- в header.php включается 1 часть, за исключением содержимого между тегами и (оставить можно подключение различных скриптов). После обязательно добавить

- вместо удаленных в секции head метатегов, заголовка, подключений css файлов размещаем вызовы функций битрикс, которые будут динамически формировать эти данные

В footer.php целиком записываем 3ю часть
- ко всем относительным путям добавляем /bitrix/templates// Например, было


Так же мы хотим видеть панель администратора сайта в публичной части сайта:

… … …
Чтоб отображался заголовок страницы, добавляем функцию в соответствующий тег. В итоге мы получаем вот такой файл:

... ... ...
Кстати забыл сказать, если всё таки есть дополнительные файлы, будь то JS, CSS, favicon и так далее, то чтоб не прописывать полный длинный путь /bitrix/…/ есть специальная константа SITE_TEMPLATE_PATH . Её и вставляем на нужные места: