Каталог товаров
Готовая страница «Каталог товаров» выводит список категорий магазина в выбранном макете. Всё оформление управляется из панели настроек темы — код на странице остаётся неизменным.
Важно. Код этой страницы отличается от Seller 1. Если вы переносите сайт с первой версии темы — замените код страницы целиком: старые настройки (
row-cols-*,pages__catalog_categories_cards_*) в Seller 2.0 не работают.
Создание страницы
- Установите приложение Настройки шаблонов через Инсталлер (если ещё не установлено).
- Создайте страницу в приложении Магазин (Магазин → Витрина → Страницы).
- Разместите на странице код:
{* GET THEME *}
{$theme_id = waRequest::getTheme()}
{* UTILS *}
{include "{$wa->site->themePath($theme_id)}u-utils.html"}
{* GET THEMESETTINGS *}
{$theme_settings = $wa->themesettings->getThemeSettings($theme_id, "site", true)}
{* LAYOUT *}
{call include_template template="html/pages/catalog/catalog"}
Сайдбар на странице каталога скрывается автоматически.
Настройки
Все настройки находятся в панели темы: Страницы → Каталог товаров.
| Настройка | Описание |
|---|---|
| Макет отображения | Визуальный макет списка категорий — три варианта, у каждого свои настройки (см. ниже) |
| Использовать мини-карточки на мобильных | На мобильных устройствах категории выводятся компактными мини-карточками |
| Группа изображений | Какую группу изображений использовать для миниатюр категорий (например, default, large, small) |
| Показывать количество товаров | Отображать число товаров в каждой категории |
| Отображать только эти категории | Сейчас не действует — известная ошибка темы (см. ниже) |
| Исключить эти категории | Сейчас не действует — известная ошибка темы (см. ниже) |
| Внутренний фон / Внутренний фон (тёмная тема) | Цветная подложка под списком категорий |
Корневая категория каталога задаётся отдельно: Приложения и плагины → Приложение Магазин → Корневая категория.
Известная ошибка. Настройки «Отображать только эти категории» и «Исключить эти категории» в текущей версии темы не работают: страница каталога уже разбивает строку с ID в массив, а шаблоны категорий разбивают её повторно. На PHP 8 это приводит к фатальной ошибке страницы каталога, на PHP 7.4 фильтрация молча не применяется. Пока ошибка не исправлена, ограничивайте список категорий корневой категорией магазина.
Макеты отображения
| Макет | Описание |
|---|---|
Первый (categories_01) | Карточки-плитки произвольной ширины, выстраиваются в ряд по содержимому |
Второй (categories_02) | Строгая сетка: настраиваются соотношение сторон изображения (1:1, 3:4, 4:3, 2:1), размер изображения и число элементов в строке (4–8) |
Третий (categories_03) | Компактные плитки с маленькими изображениями — подходит, когда категорий много; поддерживает слайдер |
Настройки всех трёх макетов показаны в разделе одновременно — блоки «Второй тип отображения» и «Третий тип отображения» видны всегда, независимо от выбора. Применяются только те из них, которые относятся к варианту, выбранному в настройке «Макет отображения».
Тонкая настройка через props
Для нестандартных случаев шаблону можно передать параметры напрямую — они переопределяют значения из настроек темы:
{$props = [
"type" => "categories_02",
"parent_id" => 15,
"aspect_ratio" => "aspect-square",
"image_size" => "400x400",
"show_category_products_count" => false
]}
{call include_template template="html/pages/catalog/catalog" props=$props}
Доступные параметры: type, categories, parent_id, include, exclude, aspect_ratio, image_size, image_group, show_category_products_count, wrapper_classes, mobile_scroll, mobile_mini, inner_background, inner_background_dark.
Параметр columns через props не действует: классы сетки собираются из настроек темы до слияния с переданными props, а сами шаблоны категорий значение columns не читают. Число колонок задаётся настройкой темы либо подменой wrapper_classes:
{$props = [
"type" => "categories_02",
"wrapper_classes" => ["grid grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-5"]
]}