Когда нужны варианты
- Одежда с размерами S/M/L
- Один товар в 5 цветах
- Разная цена за 100г / 250г / 500г
Как работает
У товара есть базовые поля (название, описание, фото) и список вариантов. Каждый вариант:
sku— уникальный артикул (PLT-M-BLACK)attributes— JSONB:{"Размер": "M", "Цвет": "чёрный"}price— можно отличаться от базовой (или NULL = как у товара)stock— остатокreserved_stock— забронированоbarcode— опциональноis_active— активность
UI в редакторе
Секция «Варианты» — таблица, + добавляет, ✕ удаляет. Inline-редактирование цены и остатка. Атрибуты — свободные ключ-значения.
UI у покупателя
Кнопки выбора размера, квадраты выбора цвета. Недоступные варианты (stock=0) зачёркнуты. «Выберите размер» дизейблит кнопку «Купить» пока не выбрано.
МойСклад
- Варианты синхронизируются по
article(sku) - Остаток каждого варианта — отдельный в МС
- Изменение остатка в МС → webhook → обновление в Витрине
Ограничения
- Максимум ~50 вариантов на товар (технически)
- Атрибуты — строковые; числовые (размер=38) хранятся как строки