Manuals
RU EN

Продукты · 70

Варианты товара: размер и цвет

Продукты 5 мин чтения

Варианты товара в скрипте магазина — размер, цвет, комплектация с отдельным остатком и часто своей ценой. Это не декоративные кнопки на карточке. Если остаток общий «100 штук на все размеры», вы продадите десятый XL при нуле на складе и уйдёте в ручные извинения.

Каталог — каталог товаров, заказ — магазин.

Как обычно устроено в админке

  • Атрибуты: «Размер», «Цвет»…
  • Значения: S/M/L, чёрный/белый…
  • Комбинации → SKU (артикул варианта).
  • На каждый SKU: остаток, цена, иногда своё фото.
  • Признак «доступен к покупке».

Не плодите атрибут на каждое слово маркетолога. Два-три измерения на старте. Остальное — в описание.

Карточка на витрине

  1. Покупатель выбирает размер и цвет.
  2. Цена и наличие обновляются под SKU.
  3. Кнопка «в корзину» неактивна, пока вариант не выбран (если варианты обязательны).
  4. В корзину уходит id варианта, не только id товара.

Если фото зависят от цвета — меняйте главное превью. Иначе люди заказывают чёрное, глядя на белое. Подходы к картинкам пересекаются с загрузкой фото, но без модерации чужих авторов.

Один размер. Если у товара нет вариантов — не заставляйте кликать пустой селект. Скрывайте блок; усложнение ради «универсальности» бесит.

Остатки: правила, которые спасают

  • Покупка списывает остаток SKU.
  • При отмене неоплаченного — возврат резерва по вашей политике.
  • Нулевой SKU нельзя положить в корзину; соседний размер может быть в наличии.
  • В админке заказ показывает «Футболка / M / чёрный», не только название родителя.
  • Импорт остатков — по артикулу варианта.

Онлайн-оплата и двойное списание — боль вебхуков: ЮKassa. Идемпотентность обязательна.

Цены на вариантах

Иногда XL дороже, иногда комплект «с ремнём» дороже базы. Храните цену на SKU. Промокоды процентом считают от цены выбранного варианта — промокоды. Зачёркнутая «старая цена» тоже должна быть вариантной, если акция только на один цвет.

Типичные поломки

  1. В корзине товар без размера — сборщику гадать.
  2. Два одинаковых SKU с разными id после импорта — остатки разъезжаются.
  3. Фильтр «цвет=чёрный» в каталоге не находит товар, потому что цвет только на варианте, а индекс построен по родителю.
  4. Смена состава атрибутов после продаж без миграции — старые заказы отображаются криво.
  5. Мобильный UI: второй выпадающий список уезжает за экран.

Приёмка: завести 2×2 матрицу (два размера × два цвета), остатки разные, купить один SKU, проверить админку и остатки соседей.

Когда варианты не нужны

Уникальные товары, услуги, цифровые позиции без модификаций — хватит одной карточки. Не включайте модуль SKU «потому что в чеклисте есть». Сложность должна окупаться ассортиментом.

Checkout обязан тащить вариант до конца — checkout. Доставка от варианта обычно не зависит, но вес/габариты иногда да — заложите поля, если курьерка считает по ним: доставка.

Варианты — отдельные остатки и честная корзина. Заведите SKU, проверьте матрицу остатков, зафиксируйте вариант в заказе. Тогда размер M закончится сам по себе, а не вместе со всем складом «на глаз».

Именование и артикулы

Схема артикулов лучше договориться до импорта: BASE-COLOR-SIZE или внутренние коды поставщика один-в-один. Смена схемы после тысячи заказов — боль. В названии строки заказа для человека: «Кроссовки Runner / 42 / чёрный», в учёте — SKU. Штрихкод, если нужен, вешайте на вариант, не на родителя.

  • Запрет двух SKU с одним артикулом на уровне БД.
  • Выключение варианта без удаления — история заказов цела.
  • Массовое «поставить остаток 0 всем XL» — отдельное действие с подтверждением.

Витрина и фильтры по атрибутам

Фильтр «цвет=синий» должен находить родителя, если синий есть хотя бы в одном доступном SKU. Карточка в листинге показывает «от {min_price}», если цены вариантов разные. Бейдж «нет в наличии» — только когда все SKU нулевые; если M закончился, а S есть — карточка живая. Это мелочи, из которых складывается ощущение, что магазином кто-то рулит.

Для маркетплейс-выгрузок наружу тоже нужны стабильные SKU. Пока выгрузок нет — всё равно не плодите хаос: через полгода придёт идея «выгрузить в Яндекс», и кривые id всплывут. Checkout уже должен писать variant_id в заказ — проверьте на оформлении до рекламы размерной сетки.

Обучение менеджера: пять минут у экрана «как завести матрицу 2×2» важнее длинной инструкции в PDF. Пока человек не создал варианты руками, он будет снова и снова править «общий остаток» и ломать учёт.

Возвраты и обмен по размеру

Когда покупатель меняет M на L, в админке это два движения остатка или отдельный статус обмена — как договоритесь. Главное не делать вид, что «просто поменяли текст в заказе»: склад разъедется. Варианты товара размер и цвет существуют именно затем, чтобы такие операции были явными. В скрипте магазина PHP фиксируйте variant_id в истории; иначе через месяц не соберёте статистику «какой размер улетает».

Перед сезоном заводите матрицы заранее, не в день съёмки для рекламы. Проверьте, что карточка на мобиле не даёт положить в корзину без размера. Это мелкая проверка на две минуты, которая экономит пачку возвратов. SKU, остатки, корзина, заказ — один язык. Когда он общий у витрины и склада, варианты перестают быть источником хаоса и становятся нормальным инструментом ассортимента.

Отчёт по SKU

Раз в неделю смотрите, какие варианты нулевые, какие висят без продаж, где цена варианта выбивается из ряда из-за опечатки. Варианты товара размер и цвет без отчёта превращаются в свалку. Скрипт магазина PHP обычно умеет фильтр по наличию — пользуйтесь. Перед поставкой сверяйте матрицу с накладной поставщика по артикулам, не по названиям цветов «как показалось».

На витрине для матрицы 5×5 не показывайте все комбинации огромной таблицей: выберите размер, затем доступные цвета. Меньше ошибок пользователя. В корзине дублируйте выбранный вариант текстом. На сборке заказа это экономит минуты и возвраты «приехало не то». SKU — язык склада; научите ему и сайт, и людей.

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

Варианты товара размер цвет скрипт?

Варианты — отдельные остатки на размер/цвет, а не одна кнопка «купить».

Сколько времени занимает «Варианты товара: размер и цвет»?

Ориентир по тексту мануала — около 5 мин. На практике зависит от хостинга и подготовки базы.

Нужен ли отдельный сервер?

Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.

Готовый магазин без wordpress?

Разбор рядом в мануале по этому запросу. готовый магазин без wordpress

Как настроить корзину и оплату в скрипте магазина?

Разбор рядом в мануале по этому запросу. как настроить корзину и оплату в скрипте магазина

Раздел
Скрипт интернет-магазина

От каталога до оплаты и доставки — контур ecommerce на PHP/MySQL.