Skip to content
ms3Remains
Остатки товаров MiniShop3 по комбинациям опций
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. ms3Remains
  3. Начало работы

Быстрый старт

За 15 минут можно включить компонент, задать остаток товару и увидеть списание по заказу.

Шаг 1. Установите и включите

  1. Установите пакет (см. Установку).
  2. Проверьте, что ms3_inventory_enabled = 0. Встроенная inventory MiniShop3 конфликтует с остатками по комбинациям.
  3. Откройте Настройки в меню ms3Remains или системные настройки по фильтру ms3remains_.
  4. Включите ms3remains_enabled.

Раздел «Настройки» ms3Remains

Раздел «Настройки» ms3Remains

Шаг 2. Задайте отслеживаемые опции

В ms3remains_option_keys перечислите ключи опций через запятую, например color,size. Остаток ведётся на каждую комбинацию этих ключей.

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

Шаг 3. Заполните остатки

Откройте товар в manager. Во вкладке Остатки появится таблица: базовая строка, варианты ms3Variants (подпись — артикул) и сочетания значений отслеживаемых опций, которые реально заполнены у товара.

Вкладка «Остатки» на карточке товара

Вкладка «Остатки» на карточке товара

Впишите количество и нажмите Сохранить. Пока ни одна строка не сохранена, товар не отслеживается и продаётся без ограничения.

Кнопка Заполнить пустые по умолчанию появляется, если ms3remains_remains_default больше нуля. Она подставляет это значение в строки с нулём и сразу их записывает.

Массовое заполнение — через CSV в разделе Остатки (см. Обмен с внешними системами).

Шаг 4. Настройте статусы заказа

  1. В разделе Настройки выберите статусы списания (ms3remains_deduct_statuses), например «Оплачен».
  2. Выберите статусы возврата (ms3remains_refund_statuses), например «Отменён».

Без статусов списания заказы не уменьшают остатки. Экран покажет предупреждение.

Шаг 5. Проверьте списание

  1. Создайте тестовый заказ с товаром из шага 3. Выберите те же опции, что в сохранённой строке.
  2. Переведите заказ в статус списания через штатную смену статуса MiniShop3, не через $order->save().
  3. Откройте вкладку Остатки товара: количество уменьшилось на количество в заказе.
  4. Переведите заказ в статус возврата: количество вернулось.

Шаг 6. Выведите остаток на витрине

В шаблоне товара:

fenom
Остаток: {'!ms3Remains' | snippet}
modx
Остаток: [[!ms3Remains]]

Остаток на карточке товара

С опциями и вариантами сниппет работает точечно. Параметры и рецепты: Остатки, сниппет ms3Remains.