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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка отдельных шаблонов для разных сайтов 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

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

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

Битрикс хранит шаблоны в /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';

Привязка компонентов к шаблону

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

  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().

Сроки

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