Сергей Фещуков

Сергей Фещуков

Был в сети 11 августа 2026, 07:34
Заказы не принимаю
Отправить деньги
Вообще он был удалён из компонента, потому что в случае учёта остатков по двум опциям, определить остатки только по одной опции невозможно.
Вместо сниппета msOptionsWithRemains лучше использовать msOptions.
О, не учёл этого. До версии 2.0 создавалось поле remains в таблице modx_ms2_products. Теперь в новой таблице modx_ms2_product_remains есть такое же поле. При запросе на странице компонента первая таблица подключается к последней и старые данные затирают новые в результатах запроса. Ранее в поле remains была информация есть ли вообще остатки у товара или нет (1 или 0 соответственно).
Решением проблемы станет удаление поля remains в таблице modx_ms2_products. Желательно ещё удалить папки
/assets/components/minishop2/plugins/msproductremains/
/core/components/minishop2/plugins/msproductremains/
Прошу прощения за задержку, но приводил и компонент, и скрипт в порядок. Скрипт для импорта остатков со старой версии компонента можно скачать здесь file.modx.pro/files/1/1/f/11f21b118b85042a036b1b3359d85397.zip
Необходимо распаковать архив в корень сайта, запустить его по ссылке www.ваш_сайт.ru/mspr_convert.php. После появления записи «Done!» необходимо обновить кэш сайта и удалить файл скрипта. Готово!
Ещё один момент: обязательно обновите компонент до версии 2.0.1-beta, там небольшие поправки для формирования остатков по одной опции. Поправки важные, если не обновится, в дальнейшем понадобится снова поправлять вид остатков в базе данных.
Я не совсем корректно сделал эту таблицу (но другого варианта не нашёл) и для реализации деления товаров по опциям сделал обработку полученных массивов, добавляя новые товары с отрицательным ID. Поэтому эти данные сейчас некорректно отображаются, им доверять нельзя. Но если у вас действительно не все товары указаны в таблице, возможно, для них остатки никогда не сохранялись.
Так что может быть и так: «Показано 1-5 из 2». ;)
Установил компонент с нуля на чистом modx 2.4.0 + minishop2 2.2.0-pl2, настройки никакие у него не менял, то есть формируются остатки по опции size, столбцы таблицы на странице остатков стандартные:
id,pagetitle,color,size,price,weight,article,published,instock,remains
Всё работает, список выводится, остатки из таблицы меняются.

Можете показать настройки компонента?
А в самом сниппете нет подсказок?
Если мне память не изменяет, то так:
[[!msCart? &tpl=`tplRow` &tplOuter=`tplOuter`]]
Или вместо tpl пробуй tplRow. В miniShop2 однотипные параметры обычно имеют одни и те же названия в разных сниппетах.