Вчера в 10:29
Так я чтобы войти в админку итак включаю VPN, по умолчанию он у меня выключен. Включаю, вхожу, выключаю. если снова нужно войти, например на другой са...
Не пускает в админку без VPN 2
07 апреля 2025, 22:38
PHPMailer не поддерживают из коробки OAuth 2.0 (GPT в помощь).
Попробуйте отключить Security Defaults.
Но если нужно все же с OAuth 2.0 то GPT нын...
Не работает авторизация SMTP Microsoft 365 при отправки писем с сайта 1
07 апреля 2025, 19:39
Здравствуйте.
Вопрос такой, а можно ли сделать так, что после того, как отправится письмо поменяется статус?
К примеру: клиент оставили заявку, мы ...
msDeferredMessages - Отложенные сообщения после смены статуса заказа 5
06 апреля 2025, 10:54
Артур, спасибо за помощь. Вчера вечером обнаружил, что ошибся в написании некоторых id элементов, а поэтому скрипт работал выборочно. До этого в упор ...
В миникорзине msMCD обновляется цена и счетчик на лету, а pagetitle и изображение только при обновле... 4
05 апреля 2025, 16:28
Спасибо! Только числа. Первый вариант сработал.
Как в mFilter2 добавить where? 2
03 апреля 2025, 17:07
Вроде как решилось ограничением в пакетах, чтобы отдавал по 100 товаров за раз. А так точно уже не помню, но щас точно все работает))
mSync после обновления перестал синхронизироваться 7
03 апреля 2025, 12:03
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
msOptionPrice2 checkbox 5
02 апреля 2025, 10:27
Сменил системную настройку cache_format с сериализации на PHP и заработало.
Странно то, что с сериализацией всё работало нормально.
Как победить кеширование из-за которого слетел сайт modX 3 3
01 апреля 2025, 14:22
Большое спасибо за качественное и подробное описание!
Вообще считаю, что в нынешние времена, веб-аналитика в минишопе должна быть если не из коробк...
Отправка цели "Заказ оплачен" в Яндекс Метрику, если пользователь не вернулся на сайт из п... 1
31 марта 2025, 13:46
Ту тогда нужно смотреть лог ошибок сервера и modx. Сделай запуск скрипта создания наблюдателя из консоли сервера может там инфа об ошибке будет. Ну ес...
msImportExport 2.0 122
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
)
));
}
}