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

Шаблон битрикс — это набор 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 Битрикс.

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

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

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

Часто требуется изменить или дополнить какие то элементы шаблона, либо переделать шаблон полностью. Обычно для полной смены дизайна на сайте создается тестовый сайт на поддомене и на нем производятся работы по адаптации шаблона. Этот подход не самый простой, так как это может повлечь за собой проблемы с переносом на основной домен. В данный момент мобильные версии сайта требуются не просто для удобства пользователя, поисковые системы все больше отдают предпочтение сайтам имеющим мобильные версии, используя этот метод вы можете легко адаптировать шаблон под мобильные версии без остановки уже действующего проекта.Поддержка не ограниченного количества шаблонов в 1С-Битрикс. Всем кто работает на 1С-Битрикс известно, что CMS предоставляет возможность подключать неограниченное количество шаблонов. Для тех кто не в курсе давайте рассмотрим как используется реализация многошаблонности.
Для добавления шаблона необходимо перейти в раздел, в административной части сайта, "Настройки" - "Настройки продукта" - "Сайты" в выпадающем меню в разделе "Сайты" есть два подраздела - "Шаблоны сайтов" и "Список сайтов". Копируем основной шаблон сайта. Для начала скопируем шаблон сайта, для этого перейдем в раздел "Шаблоны сайтов" и скопируем шаблон, чтобы в последствии работать с ним. Нажимаем кнопку копировать как показано на скриншоте:Применяем шаблон к сайту для редактирования. Нам осталось применить шаблон к сайту, но так как сайт у нас рабочий и на нем могут находится пользователи, и нам не нужно чтобы они видели производимые изменения на сайте мы подключим шаблон по условию - "Параметр в URL". Давайте сделаем это - перейдем в раздел "Список сайтов" и зайдем в настройки сайта для которого требуется изменение. В самом низу страницы настройки сайта есть блок "Шаблон сайта". Выбираем из списка в колонке "Шаблон" копию нашего шаблона, устанавливаем условие "Параметр в URL" и добавляем любое удобное вам условие к примеру test=Y, как показано на скриншоте:

Теперь копия вашего шаблона будет отображаться если вы передадите данный параметр в урл, следующим образом site.ru/?test=Y где site.ru домен вашего сайта. Данное условие будет работать для всех разделов и страниц вашего сайта к примеру если вам необходимо посмотреть как будет выглядеть шаблон в определенном разделе сайта, перейдите в этот раздел и передайте ваш параметр, в данном случае?test=Y и страница отобразится с новым шаблоном.

Теперь вы можете редактировать новый шаблон, в то время как ваши посетители будут видеть сайт как обычно. Обратите внимание что все изменения нужно будет производить именно в папке нового шаблона, и если вам необходимо изменить шаблоны компонентов которых нет в папке, вам потребуется скопировать шаблон компонента в папку с новым шаблоном. Ни в коем случае не правьте компоненты в папке /bitrix, это может привезти к критическим последствиям. И всегда делайте бекап в Облаке 1С-Битрикс.

Ну вот собственно и вся методика, надеемся что она поможет вам сэкономить время.

  • Tutorial

В очередной раз, пытаясь найти себе программиста, который работал с CMS 1C-Bitrix с своем городе натыкаюсь на проблему…

Программисты есть, работавшие с разными бесплатными фреймворками по типу Joomla, WordPress и т.д., но когда дело доходит до Битрикса, все как один говорят: - «Ой, она платная, зачем мне это когда есть куча других бесплатных». И не хотят браться за изучение чего то нового.

Так начинал и я, за исключение одного, мне сразу показали, как что и почему. Но материала в сети и на хабре я так и нашел. По этому начну с простого, как обычному программисту владеющим знаниями PHP и хотя бы базовыми HTML, CSS, JS начать работать c Битрикс.

Про структуру каталогов шаблона говорить не буду, об этом можно почитать . Первое, с чем приходится сталкиваться, это интеграция HTML шаблона на CMS.

Допустим, у вас есть готовый HTML шаблон и вам его необходимо интегрировать с системой. Начнем с установки на сервер:

Все на этом этап установки заканчивается, переходим непосредственно к интеграции шаблона. Заходим в панель администрирования в раздел «Настройки». Далее спускаемся по дереву настоек: Настройки продукта - Шаблоны сайтов, жмем на кнопку «Добавить шаблон»

Открывается стандартная форма создания шаблона.

Придумываете ID (я обычно использую main), вписываете название шаблона. Поле «Описание» не обязательно, оно скорее сделано для разработчиков, чтоб не путать шаблоны, если их несколько.

Вот тут началось самое интересное. Обычно шаблон HTML страниц выглядит следующим образом:

... ... ... ... ...
Тут главное понимать, что относится к шаблону, а что к контентной части. В данном примере контентная часть начинается между тегом section . Поэтому копируем шаблон в поле «Внешний вид шаблона сайта». Между тегом вставляем служебную директиву #WORK_AREA# . В итоге ваш шаблон будет выглядеть вот так:

... ... ... #WORK_AREA# ...
Если у вас есть CSS, то переходим на вкладку «Стили шаблона» и вставляем его туда.

Далее, я обычно редактирую файлы уже через FTP. Открываете свой текстовый редактор (у меня Notepad++, поэтому буду писать не его примере) и заходите на сервер. Весь шаблон Битрикс располагается по адресу /bitrix/templates/название_шаблона/ , если у вас есть картинки или дополнительные файлы стилей, JS скрипты и т.д., то копируете всё в эту папку.

Переходим к заключительной части и прописываем все необходимые переменные Битрикса. Открываем файл header.php и начинаем редактировать. Первое что нужно сделать это, подключить вывод шапки сайта:

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

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

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


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

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