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

Системные настройки

Все ключи живут в системных настройках MODX с префиксом ms3remains_ и дублируются в разделе Настройки меню компонента. Сохранение в разделе пишет те же ключи, что и системные настройки.

Экран разбит на карточки: Основные, Заказы, Витрина, Проекция в каталог. Внизу кнопка Сохранить настройки. Обновить перечитывает значения с сервера без записи.

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

Основные

КлючТипПо умолчаниюОписание
ms3remains_enabledда/нетнетСписание по статусам и проверки корзины/заказа. Manager, сниппет и проекция работают и при выключении
ms3remains_option_keysстрокапустоКлючи отслеживаемых опций через запятую, например color,size
ms3remains_remains_defaultчисло0Значение для новой строки и кнопки Заполнить пустые по умолчанию. До трёх знаков после запятой

Что делает ms3remains_option_keys

Перечислите ключи, по которым ведёте остаток. Только они участвуют в подборе строки остатка в корзине, заказе и сниппете. Остальные опции (подарочная упаковка, комментарий к строке) в расчёт не входят. Служебные ключи с префиксом _ (_variant_id и т.п.) тоже не входят.

Пустой список: в расчёт остатка попадают все обычные опции из корзины или заказа. На вкладке товара все сочетания цветов и размеров при этом не строятся: видны базовая строка и варианты ms3Variants.

Каталог с цветом и размером: укажите color,size (или ваши ключи). Иначе менеджер сохранит базовую строку, а покупатель в корзине попадёт на другую комбинацию. Товар без опций: оставьте поле пустым и сохраните базовую строку на вкладке.

Заказы

КлючТипПо умолчаниюОписание
ms3remains_deduct_statusesсписок idпустоСтатусы, при которых списывается остаток
ms3remains_refund_statusesсписок idпустоСтатусы, при которых списанное возвращается
ms3remains_check_before_cartда/нетдаПроверять остаток при добавлении и изменении в корзине
ms3remains_check_before_orderда/нетдаПроверять остаток перед оформлением заказа
ms3remains_check_optionsда/нетдаТребовать выбор всех ключей из option_keys (при пустом списке не блокирует). Работает только при enabled=1 и вместе с проверкой корзины и/или заказа. Строка с _variant_id (ms3Variants) эту проверку пропускает

Проверки корзины и заказа работают только при ms3remains_enabled = 1.

В разделе Настройки статусы выбираются мультиселектом из активных статусов MiniShop3. Подписи берутся из лексикона MiniShop3 (name статуса), сортировка — по полю position. В системных настройках хранятся id через запятую.

Если MiniShop3 не отдаёт класс статусов, список пустой, в селекте текст «Статусы заказов MiniShop3 не найдены».

Если один и тот же id попал и в списание, и в возврат, при сохранении он остаётся только в списании (списание имеет приоритет в runtime).

Если компонент включён, а статусы списания не выбраны, экран показывает предупреждение: заказы не будут уменьшать остатки.

Витрина

КлючТипПо умолчаниюОписание
ms3remains_hide_quantityда/нетнетСниппет выводит «В наличии / Нет в наличии» вместо числа
ms3remains_moreless_countчисло0Порог «Много»: остаток строго больше порога → слово. 0 — выключено. Игнорируется при hide_quantity

Проекция в каталог

КлючТипПо умолчаниюОписание
ms3remains_sync_product_stockда/нетдаПисать сумму остатков в msProductData.stock
ms3remains_sync_variant_countда/нетдаПисать остаток варианта в ms3Variants.count

Переключатель вариантов выключен (disabled), если ms3Variants не установлен.

Кнопка Перестроить сначала сохраняет текущие значения формы (включая два переключателя sync), затем пересчитывает stock и count для всех товаров с остатками. После успеха toast показывает, сколько товаров обработано. Если оба переключателя выключены, счётчик будет 0.

В этой же карточке выводится версия MiniShop3, которую видит API настроек.

Подробности проекции: Проекция остатков.

Предупреждения в разделе «Настройки»

Экран показывает диагностические блоки, когда они нужны:

  • нет статусов списания при включённом компоненте
  • пересечение статусов списания и возврата
  • конфликт с ms3Variants: если у ms3Variants включено собственное списание (ms3variants_deduct_stock_status), остаток спишется дважды. Кнопка Отключить списание в ms3Variants обнуляет эту настройку
  • обнаружен CommerceBridge1C: он пишет агрегат в msProductData.stock и может перезаписать проекцию. Загружайте остатки через CSV или сервисный API (см. Обмен с внешними системами)
  • включена встроенная inventory MiniShop3 (ms3_inventory_enabled). Она резервирует суммарный stock товара и конфликтует с остатками по комбинациям опций. Оставьте ms3_inventory_enabled = 0, пока работает ms3Remains