Каталог — это ядро любого интернет-магазина, и в 1С-Битрикс он устроен не так, как многие представляют. Здесь нет «таблицы товаров» в привычном смысле — всё строится на инфоблоках: универсальном механизме хранения структурированных данных. Понять его устройство важно и заказчику, и разработчику: от того, как спроектирован каталог, зависят скорость сайта, качество обмена с 1С и работа фильтра.
В этой статье разберём по слоям, как из инфоблоков собирается каталог товаров: что такое разделы, элементы и свойства, чем торговый каталог отличается от обычного инфоблока, как работают торговые предложения и как всё это связано с обменом с 1С. Материал полезен, если вы проектируете магазин или разбираетесь, почему существующий каталог тормозит; углубить тему помогают наши услуги аудита и оптимизации 1С.
Коротко
- Каталог в 1С-Битрикс — это инфоблок: разделы (категории), элементы (товары), свойства (характеристики).
- Модуль «Торговый каталог» добавляет цены, остатки и торговые предложения (SKU) поверх инфоблока.
- При обмене данные из 1С по CommerceML раскладываются именно по этой структуре — от неё зависит успех обмена.
- Для большого каталога критичны инфоблоки 2.0, продуманные свойства под умный фильтр и выборки через D7 ORM.
Что такое инфоблок и зачем он нужен
Инфоблок — это универсальное хранилище однотипных записей в 1С-Битрикс. На инфоблоках делают каталоги, новости, статьи, вакансии, отзывы — всё, что представляет собой список похожих объектов. Каталог товаров — частный, но самый нагруженный случай: инфоблок, где элементы это товары, разделы это категории, а свойства это характеристики.
Сила инфоблоков — в гибкости: вы сами задаёте набор свойств, их типы, дерево разделов и получаете готовые API, компоненты и админ-интерфейс. По сути это конструктор структурированных данных со своей моделью хранения и удобными выборками. Именно поэтому каталог в Битрикс — это не одна таблица, а система из нескольких взаимосвязанных сущностей.
Разделы: дерево категорий
Разделы инфоблока — это категории каталога, организованные в дерево. «Электроника → Ноутбуки → Игровые» — это три уровня разделов, вложенных друг в друга. Разделы задают навигацию, влияют на URL и хлебные крошки, и к ним привязываются товары.
Товар лежит в одном основном разделе, но через свойство-привязку может относиться и к другим — например, попадать в подборку «Хиты» или «Распродажа». Правильно спроектированное дерево разделов — фундамент удобной навигации и осмысленных URL. Слишком глубокое или, наоборот, плоское дерево одинаково вредят и пользователю, и SEO.
Элементы: сами товары
Элемент инфоблока — это конкретная запись, то есть товар. У элемента есть стандартные поля: название, символьный код (для URL), детальная и превью-картинка, детальный и краткий текст, активность, сортировка. Этого набора мало для магазина, поэтому основную специфику товара несут свойства.
Каждый элемент привязан к разделу и, при подключённом торговом каталоге, обрастает ценами и остатками. Именно элементы выводятся в списке товаров и в карточке — компонентами каталога, которые читают их из инфоблока и отображают по шаблону.
Свойства: характеристики товара
Свойства — это дополнительные поля товара, где живут характеристики. Они бывают разных типов, и от выбора типа зависит, как свойство хранится, отображается и фильтруется.
| Тип свойства | Что хранит | Пример |
|---|---|---|
| Строка | Произвольный текст | Артикул, код производителя |
| Число | Числовое значение | Вес, мощность |
| Список | Значение из набора | Цвет, материал |
| Привязка к элементу | Ссылку на другой товар | Аксессуары, «с этим покупают» |
| Привязка к разделу | Ссылку на раздел | Дополнительные категории |
| Справочник (HL-блок) | Значение из внешнего справочника | Бренд с логотипом |
| Файл | Изображение или документ | Галерея, инструкция |
Свойства — самая важная часть для продаж и SEO: по ним работают умный фильтр, шаблоны описаний, сравнение и сортировка. Множественные свойства позволяют хранить несколько значений (например, несколько картинок галереи).
Торговый каталог: цены и остатки
Обычный инфоблок хранит данные, но не умеет продавать. Чтобы товары обрели цены, остатки и корзину, инфоблок подключают к модулю «Торговый каталог». Это надстройка, которая добавляет коммерческие сущности:
- Типы цен. Розница, опт, дилер — разные цены, привязанные к группам пользователей.
- Остатки и склады. Наличие товара, в том числе в разрезе нескольких складов.
- Единицы измерения. Штуки, килограммы, упаковки, кратность.
- НДС и скидки. Налоги и правила расчёта цены.
Для магазина инфоблок каталога почти всегда подключён к торговому каталогу — иначе не будет ни цен по группам, ни наличия, ни корзины. Логика цен по группам и наличия по складам тесно связана с автоматизацией продаж, которую мы закрываем услугой автоматизации продаж и склада на 1С.
Торговые предложения (SKU)
Когда товар продаётся в вариантах — размер, цвет, объём, фасовка, — на сцену выходят торговые предложения (SKU). Технически это отдельный инфоблок, связанный с инфоблоком товаров: у каждого предложения свои цена, остаток и артикул, но общий товар-родитель.
На витрине это выглядит как переключатель вариантов в карточке: выбираешь размер — меняются цена, наличие и артикул. Модель торговых предложений естественно ложится на номенклатуру и характеристики из 1С, где варианты тоже ведутся отдельно. Проектировать их нужно заранее: превращать плоский товар в товар с предложениями задним числом на большом каталоге болезненно.
Как всё это связано с обменом с 1С
Каталог на инфоблоках — это ещё и приёмник данных из учётной системы. При обмене по протоколу CommerceML данные из 1С раскладываются именно по описанной структуре:
- Группы номенклатуры → разделы. Дерево категорий приходит из группировки 1С.
- Номенклатура → элементы. Товары становятся элементами инфоблока.
- Характеристики → свойства. Реквизиты и характеристики сопоставляются со свойствами.
- Варианты → торговые предложения. Характеристики номенклатуры становятся SKU.
- Цены и остатки → торговый каталог. Типы цен и остатки складов ложатся в коммерческий слой.
Отсюда важный вывод: правильно спроектированная структура инфоблока и корректное сопоставление свойств — половина успеха обмена. Если структура кривая, обмен либо ломается, либо кладёт данные не туда. Когда каталог большой, добавляется вопрос скорости — его мы разбираем в статье про ускорение обмена с 1С при большом каталоге.
Свойства и умный фильтр
Умный фильтр в каталоге (catalog.smart.filter) работает не с воздухом, а со свойствами инфоблока. Именно значения свойств — цвет, бренд, размер, цена — становятся гранями фильтра. Поэтому качество фильтра напрямую зависит от того, как спроектированы свойства.
- Тип свойства. Списки и справочники фильтруются удобнее, чем произвольные строки.
- Единообразие значений. «Красный» и «красный» — для фильтра это разные значения; данные надо нормализовать.
- Флаг участия в фильтре. Свойство помечается как фильтруемое, иначе оно не попадёт в грани.
- Индексация. Для быстрой фильтрации фасетный индекс должен быть построен и поддерживаться.
Инфоблоки 1.0 и 2.0: производительность
У инфоблоков есть две модели хранения свойств. В версии 1.0 все значения свойств лежат в общей таблице на все инфоблоки; в версии 2.0 — в отдельной таблице под каждый инфоблок. Разница на большом каталоге огромна: версия 2.0 даёт заметно более быстрые выборки и фильтрацию.
Работа с каталогом через API
Каталог редактируют не только в админке — у инфоблоков есть программный интерфейс. Классические методы и современный D7 ORM позволяют читать и писать элементы, разделы и свойства, строить выборки для витрины, фильтров и интеграций.
Для производительной работы на большом каталоге предпочитают D7 ORM: явно указывают нужные поля, не тянут лишнего и кэшируют результаты. Через API же строят интеграции и внешние сервисы — с оглядкой на безопасность REST и вебхуков, если каталог отдаётся наружу. А кастомную логику поверх каталога оформляют модулем — про подход мы писали в статье про разработку модуля под Битрикс.
Как спроектировать каталог правильно
Хороший каталог начинается не с вёрстки, а с модели данных. Последовательность проектирования:
- Спроектируйте дерево разделов. Логичная иерархия под навигацию, URL и обмен с 1С.
- Опишите свойства. Типы под задачи: списки и справочники для фильтра, строки для кодов.
- Решите про торговые предложения. Есть ли варианты и как они приходят из 1С.
- Подключите торговый каталог. Типы цен под группы, склады, единицы измерения.
- Согласуйте с обменом. Сопоставление групп, номенклатуры, характеристик, цен и остатков.
- Заложите производительность. Инфоблоки 2.0, фасетный индекс, кэш выборок.
Частые ошибки
- Каталог на инфоблоках 1.0. Выборки и фильтр тормозят уже на нескольких тысячах товаров.
- Характеристики в тексте, а не в свойствах. Их нельзя отфильтровать и переиспользовать.
- Строки вместо списков. «Красный» и «красный» ломают фильтр из-за разнобоя значений.
- Нет торговых предложений там, где нужны варианты. Плоские товары не дают выбор размера/цвета.
- Структура не согласована с обменом. Данные из 1С ложатся не туда или обмен падает.
- Слишком глубокое или плоское дерево. Страдают навигация и SEO.
- Свойства не помечены как фильтруемые. Умный фильтр их не видит.
Чек-лист проектирования каталога
- Дерево разделов продумано. Логичная иерархия под навигацию и обмен.
- Свойства типизированы. Списки и справочники для фильтра, строки для кодов.
- Торговые предложения заложены. Варианты приходят из 1С как SKU.
- Торговый каталог подключён. Типы цен, склады, единицы измерения.
- Обмен согласован. Сопоставление групп, номенклатуры, свойств, цен, остатков.
- Инфоблоки 2.0. Быстрые выборки и рабочий фасетный индекс фильтра.
- API-доступ. Выборки через D7 ORM с кэшем для производительности.
Вывод
Каталог в 1С-Битрикс — это не таблица товаров, а слоёная система на инфоблоках: разделы задают категории, элементы это товары, свойства несут характеристики, торговый каталог добавляет цены и остатки, а торговые предложения — варианты. Понимание этой структуры объясняет почти всё: как работает фильтр, почему тормозят выборки и от чего зависит успех обмена с 1С.
Спроектируйте модель данных правильно с самого начала — дерево разделов, типизированные свойства, торговые предложения, инфоблоки 2.0 — и каталог будет быстрым, удобным для фильтра и дружелюбным к обмену. Ошибки же в структуре обходятся дорого: их приходится переделывать на живом магазине с тысячами товаров.