19 минут назад
@Prihod специально для тебя выпустил релиз пораньше, чтобы ты смог скачать свежий транспортник
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 1
19 декабря 2025, 15:43
Подозреваю, что в системных настройках компонента нужно указать ID нужного способа оплаты и в уведомление о заказе не забыть прописать ссылку на оплат...
msOneClick - обновление 5
19 декабря 2025, 11:37
Добрый день! с 1 января 2026г. меняется НДС. Подскажите, где поменять НДС на 22%
[mspTinkoff] - метод оплаты Tinkoff MiniShop2 35
18 декабря 2025, 10:15
Ага, спасибо. Первый и думаю не последний)
StaticFilesPlus — автоматическое создание статических элементов с поддержкой категорий 10
13 декабря 2025, 17:47
Для MIGX нужно указать
"configs": {
"startDay": 1
}
Ввод дат в "привычном" формате ДД.ММ.ГГГГ и отображение с понедельника 12
12 декабря 2025, 22:23
В Сбере поменяли работу с логином и паролем интернет-эквайринга. Теперь они без суфикса -api. И настраиваются в ЛК СберБизнес. (Логин ПШ и ПАроль ПШ)....
[mspSberbank] Оплата заказов miniShop2 через процессинг Сбербанка 109
11 декабря 2025, 23:16
У себя я вероятно нашел проблему.
Версия минишоп была 2.5 и обновления дальше 2.5 не видит. И установлена она была с modx.com, а не modstore. Сменил ...
ms_CDEK2 возвращается! 61
handleResponse @ modx.jsgrps-min.js:1
processResponse @ ext-all.js:21
success @ ext-all.js:21
o @ ext-all.js:21
s @ ext-all.js:21
I @ ext-all.js:21
Объект load (асинхронный)
F @ ext-base.js:21
addListener @ ext-base.js:21
m @ ext-all.js:21
h @ ext-all.js:21
addListener @ ext-all.js:21
doFormUpload @ ext-all.js:21
request @ ext-all.js:21
run @ ext-all.js:21
(анонимная) @ ext-base.js:21
Объект setTimeout (асинхронный)
defer @ ext-base.js:21
doAction @ ext-all.js:21
submit @ ext-all.js:21
submit @ modx.jsgrps-min.js:1
handleClick @ modx.jsgrps-min.js:1
onClick @ ext-all.js:21
I @ ext-all.js:21
<?php
if ($modx->event->name == 'mSyncOnProductImport') {
$msProductRemains = $modx->getService('msproductremains','msProductRemains',$modx->getOption('mspr_core_path',null,$modx->getOption('core_path').'components/msproductremains/').'model/msproductremains/',$scriptProperties);
if (!($msProductRemains instanceof msProductRemains) || !$msProductRemains->active) return '';
if(isset($properties['Количество'])){
$product_id = $resource->get('id');
$remains = $properties['Количество'];
$msProductRemains->saveRemains(array_merge($product->get('options')?:array(), array(
'product_id' => $product_id,
'count' => $remains
)
));
}
}
<?php
if ($modx->event->name == 'mSyncOnProductImport') {
$msProductRemains = $modx->getService('msproductremains','msProductRemains',$modx->getOption('mspr_core_path',null,$modx->getOption('core_path').'components/msproductremains/').'model/msproductremains/',$scriptProperties);
if (!($msProductRemains instanceof msProductRemains) || !$msProductRemains->active) return '';
if(isset($properties['Количество'])){
$product_id = $resource->get('id');
$remains = $properties['Количество'];
$msProductRemains->saveRemains(array_merge($product->get('options')?:array(), array(
'product_id' => $product_id,
'count' => $remains
)
));
}
}