2.0 KiB
2.0 KiB
09. Домен категорий
Назначение
Категорийный домен описывает иерархию каталога, правила вложенности и отображения категорий.
Поведение системы
- Frontend получает плоский список или дерево категорий из backend.
- Для витрины строится дерево root -> children.
- Выбор категории влияет на выборку товаров и хлебные крошки.
Обязательные JSON-свойства категории
- id
- title
- parentId (null для корня)
- visible
- priority
Опциональные свойства
- icon
- image
- itemCount
- seo
- translations
Строгие правила
- id категории должен быть уникальным в tenant.
- Циклические ссылки parentId запрещены.
- Невидимые категории не отображаются в публичной витрине.
- Порядок показа определяется priority, затем id.
Пример JSON категорий
{
"data": [
{ "id": 1, "title": "Электроника", "parentId": null, "visible": true, "priority": 1 },
{ "id": 2, "title": "Смартфоны", "parentId": 1, "visible": true, "priority": 1 }
]
}
Ответственность Frontend
- Корректно строить дерево категорий и breadcrumbs.
- Переходить в каталог категории по маршруту конфигурации.
- Не показывать скрытые категории.
Ответственность Backend
- Поддерживать целостность иерархии категорий.
- Возвращать категории в tenant-контексте.
- Отдавать метрики itemCount при их поддержке.