Главная » Разработка Битрикс » Компоненты » bitrix:catalog.section: вывод списка товаров

bitrix:catalog.section: вывод списка товаров

Схема ключевых параметров компонента bitrix:catalog.section для вывода товаров в 1С-Битрикс

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 — базовый компонент вывода списка товаров, требующий явной настройки параметров свойств, постраничной навигации и кеширования под конкретный проект, а фильтрация по свойствам подключается отдельным компонентом умного фильтра. Кастомизация внешнего вида карточек всегда выполняется через локальную копию шаблона, а не правку файлов внутри системного каталога компонентов.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    База знаний