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

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування окремих шаблонів для різних сайтів 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

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

У мультисайтовій конфігурації 1С-Бітрікс кілька сайтів працюють в одній інсталяції — спільна база, спільний каталог, але різний зовнішній вигляд. Завдання — надати кожному сайту власний шаблон без дублювання спільної логіки.

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

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

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

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

Успадкування шаблонів. 1С-Бітрікс не підтримує успадкування шаблонів нативно, але його імітують через символічні посилання або 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 у корені — 1С-Бітрікс підключає їх автоматично. При збірці через Vite або Webpack задають publicPath для кожного шаблону окремо.

Перевірка поточного сайту в коді:

// Отримати ID поточного сайту
$siteId = \Bitrix\Main\Context::getCurrent()->getSite(); // 's1', 's2', тощо

// У компонентах і шаблонах — глобальна константа
define('SITE_ID', $siteId);

// Умовний рендеринг у шаблоні
if (SITE_ID === 's2') {
    // Логіка для оптового сайту
}

Мовні файли. Переклади, специфічні для шаблону, зберігаються в /local/templates/{template}/lang/{lang}/. 1С-Бітрікс завантажує їх автоматично при використанні GetMessage().

Терміни

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