Кастомизация шаблонов стандартных компонентов 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 дней после запуска — мы поможем устранить любые вопросы.
Неправильный выбор редакции 1С-Битрикс: как это ломает проект
Купили «Малый бизнес», запустили магазин, трафик вырос до 5000 уников в день — и сайт лёг. Композитный кэш только в «Бизнес», веб-кластер тоже. Апгрейд — доплата разницы плюс работа по настройке новых модулей. Правильный подбор и настройка редакции 1С-Битрикс сразу экономят до 40% бюджета на лицензию и исключают затраты на внеплановый апгрейд (в среднем 15–30 тыс. ₽ экономии при переходе с «Малого бизнеса» на «Бизнес» заранее вместо срочного). За 8 лет работы с Битриксом мы провели более 200 апгрейдов и видели все типовые ошибки: от покупки «Старта» под каталог на 50 000 товаров до использования «Бизнеса» для лендинга с 100 посещениями в день. Наш принцип — подобрать редакцию под реальные задачи и настроить её так, чтобы не переплачивать за ненужные модули, но и не упираться в потолок при первом скачке трафика.
Редакции 1С-Битрикс: Управление сайтом
Четыре редакции, и разница между ними — не в количестве функций, а в доступных модулях ядра. Официальная документация 1С-Битрикс уточняет: композитный кэш доступен только в редакции «Бизнес» и выше.
| Модуль / возможность |
Старт |
Стандарт |
Малый бизнес |
Бизнес |
| Информационные блоки |
+ |
+ |
+ |
+ |
| Веб-формы |
+ |
+ |
+ |
+ |
| Базовый SEO |
+ |
+ |
+ |
+ |
| Блог, форум, соцсеть |
– |
+ |
+ |
+ |
Модуль sale (магазин) |
– |
– |
+ |
+ |
Обмен с 1С (catalog) |
– |
– |
+ |
+ |
Композитный кэш (main.composite) |
– |
– |
– |
+ |
Веб-кластер (cluster) |
– |
– |
– |
+ |
| Многосайтовость |
– |
– |
– |
+ |
| REST API |
– |
– |
– |
+ |
Старт — минимум, только контентные модули: iblock, form, базовая SEO. Для визиток и лендингов. Модуля sale нет — магазин не построить.
Стандарт — контент плюс коммуникации: блог, социальная сеть, форум, расширенная техподдержка. Для корпоративных сайтов и порталов с UGC.
Малый бизнес — первая редакция с e-commerce: появляется модуль sale. Комфортный потолок — до ~10 000 товаров без серьёзной оптимизации. Для небольших магазинов и каталогов с заказом.
Бизнес — полный набор: композитный кэш (TTFB падает с 800 мс до 50–80 мс — в 10–15 раз быстрее), веб-кластер, многосайтовость, мультисклад, REST API. Для крупных магазинов, маркетплейсов, проектов с 10 000+ посетителей в день.
Как не ошибиться с выбором редакции 1С-Битрикс?
Типичные ошибки
- Покупка «Старта» под интернет-магазин — модуль sale отсутствует, придётся либо апгрейдить сразу, либо костылить через кастомные заказы.
- Выбор «Малого бизнеса» для проекта, который через полгода вырастет до 10 000 товаров — композитный кэш не включить, апгрейд до «Бизнеса» обойдётся в разницу лицензий плюс работа по настройке.
- Использование «Бизнеса» для лендинга — переплата за функции, которые никогда не пригодятся.
Композитный кэш: must have для высоконагруженного проекта
Композитный кэш (main.composite) ускоряет загрузку страниц в 10–15 раз по сравнению с динамической генерацией. Для магазина с 3000+ посетителей в день без композита сервер начинает «потеть»: среднее время ответа растёт, база данных перегружается, страницы чекаута падают по таймауту. Композит решает проблему кардинально — HTML отдаётся nginx'ом без запуска PHP. Подробнее о технологии — в статье на Wikipedia. Важно правильно настроить exclude-маски для корзины, личного кабинета и страниц, где нужна актуальность данных. Мы настраиваем это на каждом апгрейде до «Бизнес».
Выбор редакции для интернет-магазина
| Тип магазина |
Рекомендуемая редакция |
Ключевое ограничение |
| До 1000 товаров, трафик до 500 уников/день |
Малый бизнес |
Нет композитного кэша (TTFB > 500 мс при пиках) |
| 1000–10 000 товаров, 500–5000 уников/день |
Малый бизнес с тюнингом или Бизнес (сразу) |
Нагрузка упирается в PHP-FPM |
| 10 000+ товаров, 5000+ уников/день |
Бизнес |
Нужен композит + кластер |
| Маркетплейс, 100 000+ товаров |
Бизнес + веб-кластер |
Горизонтальное масштабирование обязательно |
Как выбрать редакцию: жёсткие критерии
По модулям:
- Обмен с 1С (
catalog) → минимум «Малый бизнес»
- Композитный кэш (
main.composite) → только «Бизнес»
- Веб-кластер (
cluster) → только «Бизнес»
- Многосайтовость → только «Бизнес»
- REST API → только «Бизнес»
По нагрузке:
- До 1000 уников/день — любая редакция справится
- 1000–10 000 уников/день — «Малый бизнес» с тюнингом nginx/php-fpm упирается в потолок. «Бизнес» с композитным кэшем — правильный выбор
- 10 000+ уников/день — только «Бизнес» с композитом и кластером
По бюджету:
- Разница между редакциями — в 2–5 раз (например, Старт ~6 000 ₽, Бизнес ~60 000 ₽)
- Апгрейд в любой момент — доплата разницы в стоимости лицензий
- Наш принцип: берите минимально достаточную. Но если знаете, что через полгода понадобится композит — берите «Бизнес» сразу, потому что апгрейд — это ещё и работа по настройке
Почему апгрейд редакции выгоднее при правильном выборе?
1С-Битрикс позволяет повышать редакцию без переустановки — данные сохраняются. Процесс:
- Доплата разницы в стоимости лицензии
- Активация нового ключа: «Настройки» → «Обновления» → «Регистрация»
- Установка ставших доступными модулей через админку
- Настройка нового функционала
- Тестирование совместимости
Что мы делаем при апгрейде:
- Проверяем кастомный код на конфликты с новыми модулями — особенно если есть собственные обработчики событий
OnBeforeOrderAdd, OnSaleBasketSaved
- Включаем и настраиваем композитный кэш — корректные exclude-маски для динамических страниц (корзина, чекаут, личный кабинет)
- Настраиваем мультисклад, если нужно —
b_catalog_store, правила выбора склада
- Прогоняем весь функционал на staging
- Документируем изменения
Что вы получаете в результате:
- Рабочий сайт на новой редакции без потери данных
- Настроенный композитный кэш (если перешли на «Бизнес»)
- Протокол тестирования и рекомендации по дальнейшей оптимизации
- Доступы к staging и документация по изменениям
Лицензия: продление и риски
Активная лицензия даёт обновления — новые версии, патчи безопасности, багфиксы, доступ к маркетплейсу и техподдержку вендора. При истечении сайт продолжает работать, но остаётся без обновлений. Для магазинов это опасно — патчи безопасности закрывают уязвимости в модулях sale, catalog, main. Утечка данных из b_sale_order или b_user — вопрос времени. Продление стоит кратно меньше покупки новой лицензии. Регулярное продление — страховка от незакрытых CVE.
Связка «Управление сайтом» + Битрикс24
Частый сценарий: сайт на 1С-Битрикс + CRM в Битрикс24. Заказы из b_sale_order автоматически превращаются в лиды или сделки, работает единая авторизация, синхронизация клиентской базы. Формы сайта (form или кастомные) ведут в воронку CRM. Это две отдельные лицензии и два отдельных продукта — интеграция между ними штатная и стабильно работает.
Рекомендации из практики
- Не экономьте на редакции, если точно знаете, что функционал понадобится через полгода. Апгрейд редакции — та же доплата плюс работа по настройке и тестированию.
- Бизнес для проектов с амбициями роста — композитный кэш окупает разницу в цене при первом скачке трафика. Без композита 3000+ уников/день — сервер начинает потеть.
- Битрикс24 и «Управление сайтом» — разные продукты, разные лицензии. Путаница здесь стоит денег.
- Продлевайте лицензию ежегодно — стоимость продления кратно ниже покупки новой, а без обновлений вы остаётесь с незакрытыми CVE.
Что мы предлагаем: подбор и настройка под ключ
Мы не просто консультируем — берём на себя полный цикл: анализ текущего проекта, подбор редакции, закупку лицензии (если нужно), миграцию, настройку всех модулей и обучение команды. В рамках услуги вы получаете:
- Акт выбора редакции с обоснованием
- План миграции (если апгрейд)
- Развёрнутый staging с новой редакцией
- Настройку композитного кэша и кластера (при необходимости)
- Документацию по новой конфигурации
- Гарантию работоспособности после перехода
Позвоните нам или оставьте заявку — расскажем, какая редакция подойдёт конкретно под ваш проект, нагрузку и планы роста. Закажите консультацию — оценим ваш проект за один день и предложим оптимальную конфигурацию. Получите персональный расчёт стоимости подбора и настройки редакции 1С-Битрикс прямо сейчас.