Шаблон сайта — это то, во что «одета» каждая страница проекта на 1С-Битрикс. Он задаёт шапку и подвал, подключает стили и скрипты, определяет общую верстку и то, как выглядят компоненты каталога и форм. Разобраться в его структуре — значит понять, где живёт дизайн, почему одна правка меняет весь сайт, а другая ломает обновления.
Эта статья — практический разбор устройства шаблона сайта в 1С-Битрикс: из каких файлов он состоит, где хранится, как работает рабочая область между header.php и footer.php, как правильно подключать ресурсы и назначать шаблоны разным разделам. Если сайт достался «по наследству» и шаблон в нём запутан, начать стоит с аудита и оптимизации 1С-Битрикс — он покажет технический долг в верстке.
Коротко
- Шаблон — это «рамка» страниц: header.php до контента, footer.php после, между ними рабочая область.
- Кастомный шаблон держат в /local/templates/ — эта папка не затрагивается обновлениями ядра.
- Шаблоны компонентов переопределяют внутри папки components, не трогая исходники в /bitrix.
- Стили и скрипты подключают через API платформы, а разные разделы получают шаблоны по правилам подключения.
Что такое шаблон сайта в Битрикс
Шаблон сайта в 1С-Битрикс — это внешнее оформление, общее для страниц. Технически он «оборачивает» контент каждой страницы: сначала выводится верхняя часть шаблона (от DOCTYPE до открытия рабочей области), затем — контент конкретной страницы, затем — нижняя часть (подвал и закрытие тегов). Сам контент страницы к шаблону не относится: он подставляется в середину.
Такое разделение — основа управляемости. Меняете шапку в одном файле шаблона — она меняется на всех страницах. Это удобно, но и налагает ответственность: ошибка в шаблоне ломает сразу весь сайт, поэтому к его структуре относятся аккуратно.
Где хранятся шаблоны: bitrix и local
Физически шаблоны лежат в двух местах, и различие между ними принципиально:
- /bitrix/templates/ — системные шаблоны и шаблоны, поставляемые платформой и решениями. Эту папку затрагивают обновления.
- /local/templates/ — рекомендуемое место для кастомных шаблонов проекта. Обновления ядра её не трогают.
Тот же принцип «пиши в /local, не трогай /bitrix» распространяется на компоненты и модули. Как правильно организовать собственный код в этой структуре, мы разбираем в статье про разработку собственного модуля Битрикс.
Ключевые файлы шаблона
Каждый шаблон — это подпапка с набором файлов. Основные:
| Файл / папка | Назначение |
|---|---|
| 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 велик, но это ошибка. Битрикс предоставляет методы подключения ресурсов, которые дают платформе управлять объединением, сжатием и кэшированием файлов. Прописанные вручную теги эти оптимизации обходят и часто дают дубли.
- Стили шаблона. style.css подключается автоматически; дополнительные — через методы платформы.
- Скрипты. Подключаются через API, чтобы попадали в объединённый и сжатый набор.
- Порядок и приоритет. Платформа сама решает порядок, объединение и вынос в общий файл.
Правильное подключение через API — не формальность: именно от него зависит, будут ли работать объединение CSS/JS, композитный сайт и кэш. Хардкод ломает эти механизмы и раздувает страницы дублями ресурсов.
Правила подключения шаблонов по условиям
Проекту почти всегда нужно больше одного шаблона: основной для витрины, облегчённый для лендингов, отдельный для личного кабинета или печатных версий. Битрикс назначает шаблоны по правилам подключения — без правки кода.
- По умолчанию. Сайту назначается основной шаблон в настройках.
- По условиям. Задаются правила: по маске URL, типу страницы, идентификатору сайта.
- По приоритету. Битрикс проверяет правила по порядку и применяет первое подходящее.
Например, все страницы вида /lp/ получают лендинговый шаблон без шапки, а /personal/ — шаблон кабинета. Это штатный механизм, который избавляет от «костылей» с проверками URL внутри самих файлов шаблона.
Шаблон и готовые решения Маркетплейса
Многие магазины стартуют с готового решения, где уже есть проработанный шаблон. Это экономит время, но накладывает правило: не править файлы решения напрямую. Прямые правки затрутся при обновлении, и вы окажетесь в ловушке «не обновляемся, чтобы не сломать верстку» — а это накопление уязвимостей и технического долга.
Правильный путь — использовать предусмотренные решением механизмы кастомизации: настройки, дочерние шаблоны, переопределение через /local. Если решения не хватает, доработки выносят так, чтобы они пережили обновление. Как безопасно расширять чужие решения и модули, мы разбираем в статье про разработку модуля для маркетплейса на Битрикс. Сопровождение готовых решений и их безопасное обновление удобно закрывать услугой автоматизации на 1С в связке с поддержкой.
Шаблон, композит и скорость
Шаблон напрямую влияет на скорость: он определяет, сколько ресурсов грузит каждая страница и как включается кэширование. Раздутый шаблон с лишними библиотеками и хардкодом ресурсов замедляет весь сайт, потому что этот вес несёт каждая страница.
Именно в шаблоне включается композитная технология — она отдаёт статическую версию страницы мгновенно, а динамические блоки (корзина, авторизация) догружает отдельно. Чтобы композит работал, шаблон должен быть аккуратным: ресурсы через API, минимум блокирующих скриптов, правильно размеченные динамические области. Как связать это с серверной частью, мы разбираем в статье про хостинг и инфраструктуру на BitrixVM.
Частые ошибки
- Правки в /bitrix. Кастомизация системных файлов вместо /local — всё теряется при обновлении.
- Хардкод ресурсов. Теги стилей и скриптов вручную в head ломают объединение, сжатие и композит.
- Правка шаблонов компонентов на месте. Изменение стандартных шаблонов в /bitrix вместо переопределения в components.
- Логика в шаблоне. Тяжёлые запросы и бизнес-логика прямо в header.php вместо компонентов и API.
- Один шаблон на всё. Лендинги и кабинет тащат полный шаблон витрины вместо облегчённых.
- Правки решения напрямую. Изменения файлов Маркетплейс-решения, которые затрутся при обновлении.
- Раздутый шаблон. Лишние библиотеки и шрифты грузятся на каждой странице и роняют скорость.
Чек-лист качественного шаблона
- Шаблон в /local. Кастомный шаблон лежит в /local/templates/ и не зависит от обновлений ядра.
- Чистые header и footer. Рабочая область корректно открыта и закрыта, без лишней логики.
- Компоненты переопределены правильно. Шаблоны компонентов в папке components, исходники в /bitrix не тронуты.
- Ресурсы через API. Стили и скрипты подключены методами платформы, без хардкода.
- Правила подключения настроены. Разделы получают подходящие шаблоны по условиям.
- Композит включён. Динамические области размечены, статика отдаётся мгновенно.
- Нет лишнего веса. Только нужные библиотеки, шрифты и скрипты.
- Решение не тронуто напрямую. Кастомизация через предусмотренные механизмы, обновления проходят чисто.
Вывод
Шаблон сайта — фундамент внешнего вида и во многом производительности проекта на 1С-Битрикс. Понимание его структуры — где рабочая область, как переопределяются компоненты, почему ресурсы подключают через API и зачем держать всё в /local — отличает управляемый проект от клубка правок, который ломается при каждом обновлении.
Держите кастомный шаблон в /local, переопределяйте компоненты аккуратно, подключайте стили и скрипты штатными методами и назначайте разделам подходящие шаблоны по правилам. Тогда сайт останется быстрым, обновляемым и удобным в поддержке — а не превратится в «неприкасаемую» верстку, которую страшно трогать.