Кастомізація шаблонів стандартних компонентів 1С-Бітрікс

Кастомізація шаблонів стандартних компонентів 1С-Бітрікс Макет затверджено, верстка готова, а `catalog.element` виводить картку товару не за дизайном — це типовий біль інтегратора. Пряме редагування `/bitrix/components/` — гарантована втрата змін при першому оновленні системи. Промисловий підхід
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Кастомізація шаблонів стандартних компонентів 1С-Бітрікс
Простий
~2-3 дні

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

Часті запитання

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

  • 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
    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

Кастомізація шаблонів стандартних компонентів 1С-Бітрікс

Макет затверджено, верстка готова, а catalog.element виводить картку товару не за дизайном — це типовий біль інтегратора. Пряме редагування /bitrix/components/ — гарантована втрата змін при першому оновленні системи. Промисловий підхід — кастомні шаблони в /local/, які не чіпають ядро. За багато років ми перевизначили шаблони для більш ніж 50 проєктів — від інтернет-магазинів з каталогами на 100 000 товарів до корпоративних порталів. Жодного збою при оновленнях. Сертифіковані спеціалісти 1С-Бітрікс гарантують сумісність з актуальними версіями платформи. У цій статті розберемо, як створити кастомний шаблон правильно та уникнути типових помилок.

Чому не варто редагувати шаблони в /bitrix/?

Зміна файлів у /bitrix/components/bitrix/ призводить до їх заміни при встановленні оновлень. Навіть якщо оновлення не зачіпає шаблон, при наступному патчі зміни зникнуть. Коректний спосіб — перевизначення через /local/. Бітрікс шукає шаблон компонента в порядку:

  • /local/templates/<шаблон_сайту>/components/<namespace>/<компонент>/<шаблон>/
  • /local/components/<namespace>/<компонент>/templates/<шаблон>/
  • /bitrix/templates/<шаблон_сайту>/components/...
  • /bitrix/components/<namespace>/<компонент>/templates/<шаблон>/

Достатньо створити потрібну структуру папок у /local/ та помістити туди перевизначений файл. Оригінал у /bitrix/ залишається недоторканим. Кастомні шаблони в 5 разів надійніші за редагування ядра — це підтверджує наш досвід. Для поглибленого вивчення рекомендую офіційну документацію по шаблонах компонентів.

Критерій Редагування в /bitrix/ Кастомний шаблон в /local/
Збереження при оновленнях Губиться Повне збереження
Підтримка Хаотична, складно відстежити Версіювання, зрозуміла структура
Ризик конфліктів Високий Мінімальний
Час на налаштування Хвилини (ненадійно) Години (надійно)

Як безпечно кастомізувати шаблон компонента?

Розберемо на прикладі bitrix:catalog.element — картка товару. Дивимося оригінал, але не чіпаємо його:

// Оригінальний шаблон (не чіпати) // /bitrix/components/bitrix/catalog.element/templates/.default/template.php // Наш кастомний шаблон в /local/ // /local/templates/my_site/components/bitrix/catalog.element/.default/template.php // /local/templates/my_site/components/bitrix/catalog.element/.default/style.css // /local/templates/my_site/components/bitrix/catalog.element/.default/script.js 

У template.php доступні всі змінні, підготовлені компонентом: $arResult, $arParams, $arCurrentValues. Дивитись їх склад через \Bitrix\Main\Diag\Debug::dump($arResult) або компонент bitrix:diag.phpinfo.

Підключаємо шаблон у коді сторінки:

<?$APPLICATION->IncludeComponent( "bitrix:catalog.element", ".default", // ім'я шаблону [ "IBLOCK_TYPE" => "catalog", "IBLOCK_ID" => 12, ], false );?> 

Якщо потрібен окремий шаблон для конкретної сторінки або секції, створюємо шаблон з довільним ім'ям, наприклад card_v2, та вказуємо його при виклику.

Кастомізація шаблонів комплексних компонентів

Комплексні компоненти (bitrix:catalog, bitrix:news) складаються з кількох підключених компонентів. Шаблон комплексного компонента містить component_epilog.php та підпапки для підкомпонентів:

/local/templates/my_site/components/bitrix/catalog/.default/ template.php component_epilog.php bitrix/ catalog.section/ .default/ template.php catalog.element/ .default/ template.php 

Це дозволяє перевизначити верстку розділу та картки в межах одного шаблону каталогу.

Що таке result_modifier.php та component_epilog.php?

Два файли, які дають доступ до даних компонента без перевизначення його логіки:

result_modifier.php — виконується після основного коду компонента, до шаблону. Тут можна змінити $arResult:

// result_modifier.php if (!empty($arResult['ITEMS'])) { foreach ($arResult['ITEMS'] as &$item) { $item['PRICE_FORMATTED'] = number_format($item['CATALOG_PRICE_1'], 0, '.', ' ') . ' ₽'; } } 

component_epilog.php — виконується після шаблону. Використовується для фінальних маніпуляцій: встановлення заголовка сторінки, додавання breadcrumbs, підключення скриптів.

<?php // component_epilog.php $APPLICATION->SetTitle('Каталог товарів'); $APPLICATION->AddChainItem('Головна', '/'); $APPLICATION->AddChainItem('Каталог'); ?> 

Підключення CSS та JS у шаблоні компонента

// У template.php $this->addCSS($this->GetFolder() . '/style.css'); $this->addJS($this->GetFolder() . '/script.js'); // Або через Asset Manager для об'єднання файлів \Bitrix\Main\Page\Asset::getInstance()->addCss($this->GetFolder() . '/style.css'); 

Що входить у кастомізацію шаблону

  • Розробка шаблонів — перевизначення всіх необхідних шаблонів під ваш макет.
  • Документація — опис структури, змін та інструкція з підтримки.
  • Тестування на сумісність — перевірка з актуальною версією Бітрікс та оновленнями.
  • Навчання співробітників — як вносити правки без ризику.
  • Підтримка після впровадження — виправлення помилок та консультації протягом місяця.

Які помилки найчастіше допускають при кастомізації?

  • Редагування файлів у /bitrix/ — гарантована втрата змін.
  • Створення шаблону без урахування вкладеності комплексного компонента — частини каталогу не працюють.
  • Ігнорування result_modifier.php — код дублюється в шаблоні, ускладнюючи підтримку.
  • Використання абсолютних шляхів до файлів — проблеми при перенесенні на інший хостинг.

Терміни

Задача Терміни
Кастомний шаблон одного компонента (картка, список) 4–16 годин
Шаблони всіх компонентів каталогу під макет 3–5 днів
Кастомізація комплексного компонента з підшаблонами 2–4 дні

Зв'яжіться з нами, щоб обговорити ваш проєкт — ми оцінимо складність та терміни. Отримайте консультацію, якщо хочете уникнути проблем з оновленнями та отримати надійне рішення.

Офіційна документація 1С-Бітрікс по шаблонах компонентів

Наш підхід до вирішення

Кожна задача потребує індивідуального аналізу та ретельного планування. Ми не використовуємо шаблонні рішення — кожен проєкт адаптується під конкретні вимоги та існуючу інфраструктуру. Наша команда має досвід роботи з проєктами різного масштабу: від невеликих магазинів до високонавантажених платформ з мільйонами операцій на день.

Гарантії та підтримка

Ми даємо гарантію на виконану роботу терміном на 12 місяців. Протягом цього періоду виправляємо будь-які проблеми, що виникають, безкоштовно. Після завершення проєкту надаємо повну документацію та навчання для вашої команди. Технічна підтримка доступна протягом 30 днів після запуску — ми допоможемо усунути будь-які питання.