bitrix:catalog.section — штатный компонент вывода
списка товаров раздела каталога, лежащий в основе большинства
витрин на 1С-Битрикс. Разберём его ключевые параметры и типичные
настройки, о которые регулярно спотыкаются при кастомизации.
Базовый вызов компонента
<?php
$APPLICATION->IncludeComponent(
'bitrix:catalog.section',
'my_template',
[
'IBLOCK_TYPE' => 'catalog',
'IBLOCK_ID' => $iblockId,
'SECTION_ID' => $sectionId,
'ELEMENT_SORT_FIELD' => 'sort',
'ELEMENT_SORT_ORDER' => 'asc',
'PAGE_ELEMENT_COUNT' => 24,
'PROPERTY_CODE' => ['COLOR', 'SIZE'],
'DETAIL_URL' => '',
'SECTION_URL' => '',
]
);
PROPERTY_CODE — параметр, определяющий, какие
именно свойства элементов будут доступны в результате компонента
для вывода в шаблоне, — не весь набор свойств инфоблока
подгружается автоматически, только явно перечисленные здесь коды.
Режим фильтрации: умный фильтр или отдельный компонент
Сам catalog.section не включает интерфейс умного
фильтра — фильтрация по свойствам реализуется отдельным компонентом
bitrix:catalog.smart.filter, работающим совместно
с catalog.section через общий GET-параметр или
общую логику фильтрации. Это разделение ответственности иногда
упускается при первой настройке каталога — ожидание, что фильтр
"встроен" в основной компонент списка.
Нужна помощь с Битрикс?
Постраничная навигация и её параметры
'PAGE_ELEMENT_COUNT' => 24,
'LINE_ELEMENT_COUNT' => 3, // элементов в строке сетки, для некоторых шаблонов
'DISPLAY_TOP_PAGER' => 'N',
'DISPLAY_BOTTOM_PAGER' => 'Y',
Количество элементов на странице и отображение навигации сверху/снизу списка настраивается независимо друг от друга — компонент поддерживает как "постраничную" навигацию, так и, в некоторых конфигурациях, подгрузку следующей партии элементов через AJAX без перезагрузки страницы, что требует дополнительной настройки JS-логики поверх стандартного компонента.
Кеширование и его влияние на актуальность остатков
Параметр CACHE_TYPE и CACHE_TIME
управляют кешированием результата компонента — для каталога
с активным изменением остатков товаров (частые заказы, синхронизация
с 1С) стоит внимательно выбирать время жизни кеша: слишком долгий
срок показывает устаревшие данные о наличии, слишком короткий
снижает пользу кеширования для нагрузки на сервер.
Кастомизация через переопределение шаблона
Для изменения внешнего вида карточки товара в списке правильный
путь — копирование штатного шаблона компонента в локальный шаблон
сайта и правка именно копии, а не редактирование файлов внутри
bitrix/components/ напрямую, — прямые правки внутри
системного каталога компонентов будут потеряны при следующем
обновлении ядра.
Множественная привязка и вывод в нескольких разделах
Если каталог использует множественную привязку элементов
к разделам (см. материал про перекрёстные категории), стандартная
фильтрация компонента по SECTION_ID учитывает
и дополнительные привязки, не только основной раздел, — это
поведение стоит явно проверить на конкретной версии компонента,
поскольку оно менялось между релизами системы.
SEO-параметры компонента
'SET_TITLE' => 'Y',
'ADD_SECTIONS_CHAIN' => 'Y',
Компонент умеет самостоятельно выставлять title страницы по названию раздела и добавлять раздел в цепочку навигации (хлебные крошки) — эти параметры стоит включать осознанно, а не оставлять значение по умолчанию без проверки, поскольку автоматически выставленный title может конфликтовать с отдельно настроенным SEO-заголовком через модуль SEO, если оба механизма пытаются управлять одним и тем же полем одновременно.
Частые ошибки
- Ожидание встроенного фильтра внутри catalog.section. Фильтрация реализуется отдельным компонентом умного фильтра.
- Правки внесены напрямую в системный шаблон компонента. Теряются при следующем обновлении ядра системы.
- Кеш настроен без учёта частоты изменения остатков. Устаревшие данные о наличии товара для посетителей каталога.
Итог
bitrix:catalog.section — базовый компонент вывода
списка товаров, требующий явной настройки параметров свойств,
постраничной навигации и кеширования под конкретный проект,
а фильтрация по свойствам подключается отдельным компонентом
умного фильтра. Кастомизация внешнего вида карточек всегда
выполняется через локальную копию шаблона, а не правку файлов
внутри системного каталога компонентов.
