Skip to content
ms3Variants
ms3Variants
Компонент вариантов товаров для MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. ms3Variants
  3. Интерфейс админки
  4. Варианты в заказе

Варианты в заказе ​

Как выбрать вариант позиции ​

Вариант выбирается в окне редактирования позиции заказа, а не при добавлении товара:

  1. Добавьте товар в заказ — он добавится по цене из карточки товара.
  2. Нажмите карандаш в строке позиции.
  3. В блоке «Вариант» выберите вариант и нажмите «Применить». В поля окна подставятся цена и вес варианта, в опции позиции — _variant_id и опции варианта. Остальные опции позиции сохраняются, совпадающие ключи получают значения варианта.
  4. Нажмите «Сохранить» в окне MiniShop3.

Пока не нажата «Сохранить», ничего не сохраняется. В позицию попадает то, что стоит в полях окна: если после «Применить» изменить цену вручную, сохранится она.

В списке — значения опций, артикул в квадратных скобках и цена варианта. Блок «Вариант» не появляется, если у товара нет вариантов или скрипт не нашёл товар позиции: он берёт его из ссылки на товар в строке позиции — если товар удалён и ссылки нет, блока не будет.

Список показывает все варианты

В списке есть неактивные и закончившиеся варианты, без отметки. Остаток варианта в админке не проверяется ни при выборе, ни при изменении количества.

Работает только в админке на русском языке

Скрипт находит поля окна по русским подписям («Цена», «Вес», «Опции»). В админке на другом языке цена и вес варианта не подставляются, а кнопки показывают ms3variants_apply и ms3variants_reset.

Смена и сброс варианта ​

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

«Сбросить» убирает из позиции _variant_id и опции варианта. Цену и вес товара кнопка не возвращает: в позиции остаются цена и вес варианта. Впишите цену товара вручную, затем нажмите «Сохранить».

Чем позиция из админки отличается от позиции с сайта ​

С сайтаИз админки
Ценацена варианта, её подставляет сервер — даже если она 0то, что в поле «Цена»
Весвес варианта, если он больше 0вес варианта, даже если он 0
Старая цена и скидказаписываютсяне записываются

Опции позиции ​

Поле options позиции с вариантом:

json
{
    "_variant_id": 5,
    "color": "red",
    "size": "XL"
}

Опции выводятся в колонке «Опции» таблицы заказа, в письмах и в истории заказов покупателя — вместе со служебным ключом _variant_id. В своём коде приводите _variant_id к числу перед сравнением.

Списание остатков ​

Остатки вариантов списываются при переходе заказа в статус из настройки ms3variants_deduct_stock_status. Списываются все позиции с _variant_id в опциях — и с сайта, и из админки. По умолчанию это статус 2 — «Новый», то есть при оформлении заказа.

Остаток не уходит ниже нуля, переход статуса при нехватке остатка не блокируется. При ms3variants_check_stock = Нет остатки не списываются совсем.

Остатки не меняются:

  • при отмене заказа — верните их вручную на вкладке «Варианты» товара;
  • при правке позиции после списания — смене варианта, количества или удалении позиции.