Перейти к содержимому

Каталог товаров в 1С-Битрикс - витрина, карточка, свойства

Каталог - самая крупная подтема магазина: 1156 вопросов из собранных. Здесь собраны решения по витрине и карточке товара.

Что общего у этих задач

Каталог на сайте почти всегда выводит комплексный компонент bitrix:catalog. Он отвечает сразу за всё. Список разделов, список товаров, карточка и умный фильтр живут внутри него, а адреса страниц он собирает сам. Отсюда первое следствие: правка «карточки товара» - это правка шаблона element.php внутри комплексного компонента, а не отдельной страницы.

Данные приходят из инфоблока, а цены и остатки - из торгового каталога. Элемент без записи в торговом каталоге выводится как обычная новость: без цены, без кнопки покупки. Проверять пустую витрину поэтому начинают не с шаблона, а с того, что вообще лежит в базе.

Свойства товара приходят не все. Компонент выбирает только те, что перечислены в его параметрах, и молча пропускает остальные. Пустая характеристика в карточке чаще означает незаполненный параметр компонента, чем пустое значение у элемента.

Решения подтемы

Частые вопросы

Почему каталог показывает пустую страницу?

Чаще всего в разделе нет активных элементов либо у них снята публикация по датам. Второй по частоте случай - элементы есть, но не привязаны к разделу, и список раздела их не находит. Оба варианта проверяются выборкой по инфоблоку без фильтра по разделу.

Где искать шаблон карточки товара?

В шаблоне комплексного компонента bitrix:catalog, файл element.php. Отдельного шаблона «карточка товара» в структуре нет: комплексный компонент вызывает внутри себя catalog.element и передаёт ему параметры.

Как добавить своё свойство в вывод?

Через параметр компонента со списком свойств. Свойство, не перечисленное там, в результат не попадёт, даже если у элемента оно заполнено.

Почему на детальной странице нет цены?

У элемента нет записи в торговом каталоге либо цена задана для другого типа цен, чем показывает компонент. Каталог и инфоблок это два разных хранилища, и элемент может быть только в одном.

Связанные темы

Первоисточники