Files
obsidian/Магазин обуви (apelsincom)/Компоненты и шаблоны компонентов.md
2026-07-06 13:05:56 +03:00

4.8 KiB
Raw Permalink Blame History

Компоненты и шаблоны компонентов

Компонент в Битриксе — готовый блок, который что-то выводит (каталог, меню, форму). На этом сайте своих компонентов нет (/local/components/ пуст). Вместо этого используются штатные компоненты Битрикса, но с переопределёнными шаблонами, которые лежат в шаблоне сайта:

local/templates/custom/components/bitrix/<компонент>/<шаблон>/

Именно здесь ведётся почти вся фронтовая доработка. Логику вывода правят тут, а не в ядре.

Из чего состоит шаблон компонента

Файлы внутри папки шаблона (стандарт Битрикса — полезно знать):

Файл За что отвечает
template.php сама вёрстка (HTML + вывод $arResult)
result_modifier.php правка данных $arResult перед выводом — «серверная логика» шаблона
component_epilog.php код после кэша (то, что не должно кэшироваться)
.parameters.php параметры шаблона для админки
style.css / script.js стили и скрипт шаблона
lang/ языковые фразы

[!tip] Где искать логику Раз своего init.php нет, «где данные подхватываются и меняются» смотрите в result_modifier.php и component_epilog.php конкретного шаблона. Это местная замена серверных обработчиков.

Переопределённые компоненты витрины

Компонент Активный шаблон Где используется Инфоблок
bitrix:catalog catalog_custom каталог /catalog/ (комплексный: список, карточка, фильтр) 2
bitrix:catalog.section custom, custom_similar списки товаров, «похожие» 2
bitrix:catalog.element custom карточка товара (template.php ~35 КБ, script.js) 2
bitrix:catalog.section.list aside_menu, home_categories, popular_categories, custom_tags боковое меню и блоки категорий 2
bitrix:catalog.smart.filter custom, catalog-custom умный фильтр 2
bitrix:news.list custom_main_slider баннер-слайдер на главной слайдер
bitrix:form.result.new feedback форма (заявка/обратная связь) веб-форма
bitrix:menu custom, footer_custom верхнее и нижнее меню
bitrix:search.page custom_input, custom_page поиск в шапке и на странице поиска 2
bitrix:breadcrumb custom хлебные крошки
bitrix:main.include подключение областей из /include/

Какой компонент к какому адресу — в Маршрутизация и ЧПУ (apelsincom); модель данных каталога — в Инфоблоки и каталог (apelsincom).

Include-области

Мелкие переиспользуемые куски вёрстки — в public_html/include/, подключаются через bitrix:main.include. Там: логотип (logo*.php), баннер (main_banner.php), SEO-текст (sect_bottom.php), копирайт, соцсети, кнопки маркетплейсов (ozon_btn.php, wb_btn.php), тексты (info.php, feedback.php), «просмотренные товары». Правятся файлом или областью в админке.

[!warning] Грабли шаблонов

  • Рядом с активными шаблонами (custom) лежат исходные bootstrap_v4 из решения eShop. Правите не тот — изменений не видно. Всегда сверяйтесь, какой шаблон указан в вызове компонента.
  • В catalog.smart.filter/custom лежит мусорный файл-дубль template copy 1.php — не рабочий, легко перепутать с template.php.

См. также

  • Шаблон custom
  • Инфоблоки и каталог (apelsincom)
  • Маршрутизация и ЧПУ (apelsincom)
  • Известные проблемы и рекомендации (apelsincom)