Настройка отдельных шаблонов для разных сайтов 1С-Битрикс

Мы не раз сталкивались с ситуацией: клиент запускает второй (третий) магазин на той же установке Битрикс, а шаблон один — вёрстка ломается, кастомизация превращается в ад. Ошибка в том, что каждый сайт получает свой дизайн, но наследование не настроено. Разбираем, как правильно организовать шаблоны
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка отдельных шаблонов для разных сайтов 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Мы не раз сталкивались с ситуацией: клиент запускает второй (третий) магазин на той же установке Битрикс, а шаблон один — вёрстка ломается, кастомизация превращается в ад. Ошибка в том, что каждый сайт получает свой дизайн, но наследование не настроено. Разбираем, как правильно организовать шаблоны в мультисайте, не теряя времени на дубли. Например, в одном проекте из-за общего шаблона правки под оптовый сайт сломали карточку товара розницы, что привело к простою 3 дня и потерям около 15% заказов. Раздельные шаблоны в мультисайте сокращают время на внесение правок в 4 раза по сравнению с единым шаблоном.

Почему важно разделять шаблоны?

Если несколько сайтов живут в одной копии Битрикс, но используют один шаблон, рано или поздно вы упираетесь в конфликт стилей, правки под один сайт ломают другой. Раздельные шаблоны дают гибкость: розничный сайт может иметь свою карточку, оптовый — другую, мобильная версия — третью. Общая логика при этом выделяется в базовый шаблон.

Структура шаблонов в мультисайте

Битрикс хранит шаблоны в /bitrix/templates/ (системные) и /local/templates/ (пользовательские). Для каждого сайта в административной панели задаётся шаблон по умолчанию: Настройки → Сайты → Список сайтов → {Сайт} → Шаблон сайта.

Рекомендуемая структура при нескольких сайтах:

/local/templates/ base/ # Общий базовый шаблон (layout, хедер, футер) site_retail/ # Шаблон розничного сайта site_wholesale/ # Шаблон оптового сайта site_mobile/ # Мобильная версия (если не адаптив) 

Наследование шаблонов. Битрикс не поддерживает наследование шаблонов нативно, но его имитируют через include или символьные ссылки:

// /local/templates/site_retail/header.php // Подключаем общий хедер и переопределяем только нужное define('TEMPLATE_BASE_PATH', $_SERVER['DOCUMENT_ROOT'] . '/local/templates/base/'); include TEMPLATE_BASE_PATH . 'header.php'; 

Как мы настраиваем шаблоны: реальный кейс

Недавно настраивали мультисайт для клиента: розничный магазин (шаблон retail) и оптовая площадка (wholesale) на одной базе. В base вынесли общий хедер, футер, скрипты аналитики. Для retail кастомизировали карточку товара — заменили шаблон catalog.element в своей папке. Для wholesale — убрали цены и добавили кнопку "Запросить КП". Всё заработало без копирования лишнего кода. Согласно документации 1С-Битрикс, мультисайтовая конфигурация поддерживает раздельные шаблоны через настройки каждого сайта.

Как привязать компоненты к шаблону?

Для каждого компонента можно задать разный шаблон в разных сайтах. Шаблоны компонентов ищутся в порядке:

  1. /local/templates/{site_template}/components/{namespace}/{component}/{template}/
  2. /local/components/{namespace}/{component}/templates/{template}/
  3. /bitrix/templates/{site_template}/components/...
  4. /bitrix/components/{namespace}/{component}/templates/{template}/

Это значит: чтобы у розничного сайта была своя карточка товара, достаточно создать /local/templates/site_retail/components/bitrix/catalog.element/.default/template.php.

Практические нюансы

CSS и JS ресурсы. Каждый шаблон имеет свой style.css и script.js в корне. Битрикс автоматически подключает их. Для сборки через Vite или Webpack задают publicPath под каждый шаблон.

Проверка текущего сайта в коде:

// Получить ID текущего сайта $siteId = \Bitrix\Main\Context::getCurrent()->getSite(); // 's1', 's2', etc. // В компонентах и шаблонах — глобальная константа define('SITE_ID', $siteId); // Условный рендеринг в шаблоне if (SITE_ID === 's2') { // Логика для оптового сайта } 

Языковые файлы. Шаблон-специфичные переводы хранятся в /local/templates/{template}/lang/{lang}/. Битрикс подгружает их автоматически при использовании GetMessage().

Сравнение подходов: общий vs раздельные шаблоны

Критерий Один шаблон для всех Раздельные шаблоны (наш подход)
Гибкость дизайна Ограничена, конфликты стилей Максимальная, каждый сайт уникален
Сложность поддержки Высокая, правки ломают другие сайты Низкая, изолированные изменения
Дублирование кода Нет явного, но много условий Минимально за счёт базового шаблона
Скорость разработки новых сайтов Медленная, правки в общий код Быстрая, наследуется основа
Развёрнутый пример структуры

Для проекта с тремя сайтами (розница, опт, мобильный) оптимальная структура:

/local/templates/ base/ header.php footer.php style.css retail/ header.php (include base/header.php с доработками) components/bitrix/catalog.element/.default/template.php wholesale/ header.php (include base/header.php, убрана корзина) components/bitrix/catalog.element/.default/template.php (без цен) mobile/ header.php (адаптивный) style.css 

Что входит в работу

  • Анализ текущей архитектуры шаблонов и карты сайтов
  • Проектирование структуры /local/templates/ с базовым и дочерними шаблонами
  • Миграция существующего дизайна в новую структуру
  • Настройка наследования и переопределения компонентов
  • Проверка кросс-браузерности и мобильной адаптации
  • Документирование структуры для дальнейшей поддержки
  • Передача доступов и обучение команды клиента

Как мы это делаем: процесс

  1. Аналитика — смотрим количество сайтов, их общие и уникальные элементы.
  2. Проектирование — создаём макет структуры шаблонов.
  3. Реализация — разворачиваем базовый шаблон и дочерние.
  4. Тестирование — проверяем каждый сайт на корректную работу.
  5. Деплой — выкатываем на боевой сервер.

Сроки ориентировочно

Конфигурация Срок
Настройка 2 шаблонов (базовая структура) 1–2 дня
Перенос существующего дизайна в структуру мультисайта 2–4 дня
Разработка шаблонов с нуля для 2–3 сайтов 5–10 дней

Стоимость рассчитывается индивидуально после оценки объёма. Мы с проектами любой сложности — получите консультацию по вашему проекту, мы дадим точные сроки и оценку. Закажите аудит текущей структуры шаблонов, чтобы выявить скрытые проблемы.

Наш опыт и гарантии

Более пяти лет занимаемся разработкой на 1С-Битрикс, выполнили свыше 40 проектов по мультисайтам. Даём гарантию на корректную работу шаблонов и их совместимость с обновлениями системы. Пишите, оценим ваш проект и дадим точные сроки.