-15%Скидка 15% на разработку сайта или магазина при старте до конца месяца

Шаблоны сайта в 1С-Битрикс: структура и подключение

Структура шаблона сайта в 1С-Битрикс: header.php, footer.php, папка components, правила подключения

Шаблон сайта — это то, во что «одета» каждая страница проекта на 1С-Битрикс. Он задаёт шапку и подвал, подключает стили и скрипты, определяет общую верстку и то, как выглядят компоненты каталога и форм. Разобраться в его структуре — значит понять, где живёт дизайн, почему одна правка меняет весь сайт, а другая ломает обновления.

Эта статья — практический разбор устройства шаблона сайта в 1С-Битрикс: из каких файлов он состоит, где хранится, как работает рабочая область между header.php и footer.php, как правильно подключать ресурсы и назначать шаблоны разным разделам. Если сайт достался «по наследству» и шаблон в нём запутан, начать стоит с аудита и оптимизации 1С-Битрикс — он покажет технический долг в верстке.

Коротко

  • Шаблон — это «рамка» страниц: header.php до контента, footer.php после, между ними рабочая область.
  • Кастомный шаблон держат в /local/templates/ — эта папка не затрагивается обновлениями ядра.
  • Шаблоны компонентов переопределяют внутри папки components, не трогая исходники в /bitrix.
  • Стили и скрипты подключают через API платформы, а разные разделы получают шаблоны по правилам подключения.

Что такое шаблон сайта в Битрикс

Шаблон сайта в 1С-Битрикс — это внешнее оформление, общее для страниц. Технически он «оборачивает» контент каждой страницы: сначала выводится верхняя часть шаблона (от DOCTYPE до открытия рабочей области), затем — контент конкретной страницы, затем — нижняя часть (подвал и закрытие тегов). Сам контент страницы к шаблону не относится: он подставляется в середину.

Такое разделение — основа управляемости. Меняете шапку в одном файле шаблона — она меняется на всех страницах. Это удобно, но и налагает ответственность: ошибка в шаблоне ломает сразу весь сайт, поэтому к его структуре относятся аккуратно.

Где хранятся шаблоны: bitrix и local

Физически шаблоны лежат в двух местах, и различие между ними принципиально:

Правило /local. Свой шаблон, свои компоненты и доработки держите в /local. Тогда обновления Битрикса не затрут вашу работу, а перенос проекта между окружениями сводится к копированию одной папки. Правки прямо в /bitrix — верный способ потерять их при ближайшем обновлении.

Тот же принцип «пиши в /local, не трогай /bitrix» распространяется на компоненты и модули. Как правильно организовать собственный код в этой структуре, мы разбираем в статье про разработку собственного модуля Битрикс.

Обмен данными сайта с 1С Сайткаталог, заказытовары, заказыОбменочередь / APIДанные идут в обе стороны по расписанию или по событию
Схема: сайт и 1С обмениваются данными в обе стороны — по расписанию или по событию. Товары и остатки приходят на сайт, заказы уходят обратно.

Ключевые файлы шаблона

Каждый шаблон — это подпапка с набором файлов. Основные:

Файл / папкаНазначение
header.phpВсё до контента: DOCTYPE, head, шапка, открытие рабочей области
footer.phpВсё после контента: подвал, закрытие тегов
style.cssОсновные стили шаблона
template_styles.cssСтили, редактируемые в визуальном редакторе
components/Переопределённые шаблоны компонентов
images/Изображения шаблона (логотип, иконки)
.description.phpНазвание и описание шаблона в админке

Минимально жизнеспособный шаблон — это header.php и footer.php. Остальное добавляется по мере роста проекта, но именно эти два файла определяют, как выглядит и работает каждая страница.

header.php и footer.php: рабочая область

Разделение на header.php и footer.php — не случайное. Между ними находится рабочая область — то место, куда Битрикс вставляет контент конкретной страницы. Граница задаётся специальной служебной строкой в header.php, после которой начинается контент, и соответствующей строкой в footer.php, где контент заканчивается.

В header.php обычно находятся: объявление документа, секция head с подключением ресурсов, административная панель, шапка сайта с логотипом и меню, хлебные крошки и открытие контейнера рабочей области. В footer.php — закрытие контейнера, подвал с контактами и меню, подключение скриптов перед закрытием body. Понимание этой границы — ключ к тому, чтобы не сломать вывод контента при доработках.

Папка components и шаблоны компонентов

Компоненты Битрикса (каталог, меню, формы, поиск) выводят данные через свои шаблоны. Стандартные шаблоны компонентов лежат в /bitrix, но править их там нельзя — обновление затрёт. Вместо этого шаблон компонента копируют и переопределяют в папке components внутри вашего шаблона сайта.

Такая структура повторяет иерархию компонента: components/название.пространства/название.компонента/название.шаблона. Битрикс, встречая вызов компонента, сначала ищет переопределённый шаблон в текущем шаблоне сайта и только потом — стандартный. Это позволяет менять разметку каталога или меню, не касаясь исходников платформы. Как устроен вызов и работа компонентов на более глубоком уровне, вместе с работой с данными через ORM, мы показываем в материале про D7 ORM в Битрикс.

Подключение стилей и скриптов через API

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

Правильное подключение через API — не формальность: именно от него зависит, будут ли работать объединение CSS/JS, композитный сайт и кэш. Хардкод ломает эти механизмы и раздувает страницы дублями ресурсов.

Правила подключения шаблонов по условиям

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

  1. По умолчанию. Сайту назначается основной шаблон в настройках.
  2. По условиям. Задаются правила: по маске URL, типу страницы, идентификатору сайта.
  3. По приоритету. Битрикс проверяет правила по порядку и применяет первое подходящее.

Например, все страницы вида /lp/ получают лендинговый шаблон без шапки, а /personal/ — шаблон кабинета. Это штатный механизм, который избавляет от «костылей» с проверками URL внутри самих файлов шаблона.

Шаблон и готовые решения Маркетплейса

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

Правильный путь — использовать предусмотренные решением механизмы кастомизации: настройки, дочерние шаблоны, переопределение через /local. Если решения не хватает, доработки выносят так, чтобы они пережили обновление. Как безопасно расширять чужие решения и модули, мы разбираем в статье про разработку модуля для маркетплейса на Битрикс. Сопровождение готовых решений и их безопасное обновление удобно закрывать услугой автоматизации на 1С в связке с поддержкой.

Шаблон, композит и скорость

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

Именно в шаблоне включается композитная технология — она отдаёт статическую версию страницы мгновенно, а динамические блоки (корзина, авторизация) догружает отдельно. Чтобы композит работал, шаблон должен быть аккуратным: ресурсы через API, минимум блокирующих скриптов, правильно размеченные динамические области. Как связать это с серверной частью, мы разбираем в статье про хостинг и инфраструктуру на BitrixVM.

Частые ошибки

Чек-лист качественного шаблона

  1. Шаблон в /local. Кастомный шаблон лежит в /local/templates/ и не зависит от обновлений ядра.
  2. Чистые header и footer. Рабочая область корректно открыта и закрыта, без лишней логики.
  3. Компоненты переопределены правильно. Шаблоны компонентов в папке components, исходники в /bitrix не тронуты.
  4. Ресурсы через API. Стили и скрипты подключены методами платформы, без хардкода.
  5. Правила подключения настроены. Разделы получают подходящие шаблоны по условиям.
  6. Композит включён. Динамические области размечены, статика отдаётся мгновенно.
  7. Нет лишнего веса. Только нужные библиотеки, шрифты и скрипты.
  8. Решение не тронуто напрямую. Кастомизация через предусмотренные механизмы, обновления проходят чисто.

Вывод

Шаблон сайта — фундамент внешнего вида и во многом производительности проекта на 1С-Битрикс. Понимание его структуры — где рабочая область, как переопределяются компоненты, почему ресурсы подключают через API и зачем держать всё в /local — отличает управляемый проект от клубка правок, который ломается при каждом обновлении.

Держите кастомный шаблон в /local, переопределяйте компоненты аккуратно, подключайте стили и скрипты штатными методами и назначайте разделам подходящие шаблоны по правилам. Тогда сайт останется быстрым, обновляемым и удобным в поддержке — а не превратится в «неприкасаемую» верстку, которую страшно трогать.

Частые вопросы

Из каких файлов состоит шаблон сайта в 1С-Битрикс?

Минимальный шаблон — это два ключевых файла: header.php (всё до контента: DOCTYPE, head, шапка, открытие рабочей области) и footer.php (всё после контента: подвал, закрытие тегов). К ним добавляются style.css, папка components с переопределёнными шаблонами компонентов, папка images, файл .description.php с названием шаблона и опционально template_styles.css. Контент страницы Битрикс вставляет между header.php и footer.php.

Где физически лежит шаблон сайта?

Шаблоны хранятся в папке /bitrix/templates/ (системные) и, что важнее для проекта, в /local/templates/. Хранить кастомный шаблон в /local — рекомендуемая практика: эта папка не затрагивается обновлениями ядра и удобно переносится между окружениями. Каждый шаблон — это отдельная подпапка со своим набором файлов. Какой шаблон применится к странице, определяют настройки сайта и правила подключения.

Чем шаблон сайта отличается от шаблона компонента?

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

Как назначить разные шаблоны для разных разделов?

В настройках модуля управления структурой задаются правила подключения шаблонов по условиям: по маске URL, по идентификатору сайта, по типу страницы. Так, например, лендинги могут использовать облегчённый шаблон без шапки и подвала, а личный кабинет — свой. Битрикс проверяет правила по приоритету и применяет первый подходящий. Это штатный механизм, не требующий правки кода.

Можно ли редактировать шаблон готового решения из Маркетплейса?

Технически да, но правки напрямую в файлах решения затрутся при его обновлении. Правильный путь — использовать предусмотренные решением механизмы кастомизации: настройки, дочерние шаблоны, переопределение через /local. Если решение не даёт нужной гибкости, изменения выносят так, чтобы они пережили обновление. Иначе каждое обновление будет ломать вашу верстку, и вы окажетесь в ловушке «не обновляемся, чтобы не сломать».

Почему стили и скрипты лучше подключать через API, а не хардкодом?

Битрикс предоставляет методы подключения ресурсов (SetAdditionalCSS, AddHeadScript и подобные), которые позволяют платформе управлять объединением, сжатием и кэшированием файлов. Если прописать теги вручную в header.php, эти оптимизации не сработают, а на страницах появятся дубли. Подключение через API — залог того, что композитный сайт, объединение CSS/JS и кэш будут работать корректно.

Как шаблон влияет на скорость сайта?

Шаблон определяет, сколько и каких ресурсов грузит каждая страница: стили, шрифты, скрипты, изображения шапки и подвала. Раздутый шаблон с лишними библиотеками замедляет весь сайт. Кроме того, именно в шаблоне включается композитная технология и настраивается кэширование областей. Аккуратный, чистый шаблон с подключением ресурсов через API — фундамент хорошей скорости и Core Web Vitals.

Поделиться:

Шаблон сайта запутан и мешает обновлениям?

Наведём порядок: вынесем доработки в /local, приведём подключение ресурсов к API, настроим композит и правила подключения шаблонов. Рассчитаем работу по вашему проекту.

Аудит и оптимизация 1С

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем и поддерживаем сайты на 1С-Битрикс: проектируем чистые обновляемые шаблоны, переопределяем компоненты и держим проекты быстрыми.

← Все статьи блога