miniShop2, событие msOnBeforeChangeInCart возвращает неверный результат

Добрый день, использую minishop2, создал плагин на событие msOnBeforeChangeInCart. И корзина возвращается неверно, пробовал разными способами:
$values = $cart->get();
$values = $modx->getOption('cart', $scriptProperties);
$miniShop2 = $modx->getService('miniShop2');
$miniShop2->initialize($modx->context->key);
$values = $miniShop2->cart->get();
Что получаю в итоге:
'{"success":true,"message":"","data":{"popup":"<form class=\\"ms2_form\\">\\n    <h3 class=\\"c-grey\\">\\u0414\\u0430\\u043d\\u043d\\u044b\\u0439 \\u0442\\u043e\\u0432\\u0430\\u0440 \\u0434\\u043e\\u0431\\u0430\\u0432\\u043b\\u0435\\u043d \\u0432 \\u043a\\u043e\\u0440\\u0437\\u0438\\u043d\\u0443:<\\/h3>\\n    <div class=\\"flx\\">\\n        <img src=\\"\\/assets\\/images\\/products\\/26087\\/thumb\\/221498-1.jpg\\" alt=\\"\\u0426\\u0435\\u043f\\u044c \\u0438\\u0437 \\u0441\\u0435\\u0440\\u0435\\u0431\\u0440\\u0430 \\u043f\\u043b\\u0435\\u0442\\u0435\\u043d\\u0438\\u044f \\"\\u0411\\u0438\\u0441\\u043c\\u0430\\u0440\\u043a\\"\\">\\n        <div class=\\"info\\">\\n            <h4>\\u0426\\u0435\\u043f\\u044c \\u0438\\u0437 \\u0441\\u0435\\u0440\\u0435\\u0431\\u0440\\u0430 \\u043f\\u043b\\u0435\\u0442\\u0435\\u043d\\u0438\\u044f \\"\\u0411\\u0438\\u0441\\u043c\\u0430\\u0440\\u043a\\"<\\/h4>\\n            <div class=\\"flx\\">\\n                <div class=\\"col\\">\\n                    <p><span class=\\"c-grey\\">\\u041c\\u0435\\u0442\\u0430\\u043b\\u043b:<\\/span> \\u0421\\u0435\\u0440\\u0435\\u0431\\u0440\\u043e 925<\\/p>                    <p><span class=\\"c-grey\\">\\u0412\\u0441\\u0442\\u0430\\u0432\\u043a\\u0438:<\\/span> \\u0411\\u0435\\u0437 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043e\\u043a<\\/p>                    <p><span class=\\"c-grey\\">\\u0420\\u0430\\u0437\\u043c\\u0435\\u0440:<\\/span> 55<\\/p>\\n                <\\/div>\\n                <div class=\\"col\\">\\n                    <p class=\\"c-grey\\">\\u0426\\u0435\\u043d\\u0430:<\\/p>\\n                    <div class=\\"price\\">\\n                        <p class=\\"old\\">21 075 \\u20bd<\\/p>                        <p>11 591 \\u20bd<\\/p>\\n                    <\\/div>\\n                <\\/div>\\n            <\\/div>\\n        <\\/div>\\n    <\\/div>\\n    <div class=\\"clearfix\\">\\n        <div class=\\"buttons fr flx\\">\\n            <span class=\\"btn btn-black\\" onclick=\\"$.fancybox.close();\\">\\u041f\\u0440\\u043e\\u0434\\u043e\\u043b\\u0436\\u0438\\u0442\\u044c \\u043f\\u043e\\u043a\\u0443\\u043f\\u043a\\u0438<\\/span>\\n            <a href=\\"cart\\" class=\\"btn btn-red\\">\\u0412 \\u043a\\u043e\\u0440\\u0437\\u0438\\u043d\\u0443<\\/a>\\n        <\\/div>\\n    <\\/div>\\n            <h4 style=\\"color:var(--red);margin-top:15px;font-size:15px;\\">\\u041e\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043d\\u0438\\u043c\\u0430\\u043d\\u0438\\u0435: \\u0432 \\u0441\\u0432\\u044f\\u0437\\u0438 \\u0432\\u044b\\u0441\\u043e\\u043a\\u043e\\u0439 \\u043d\\u0430\\u0433\\u0440\\u0443\\u0437\\u043a\\u043e\\u0439, \\u0441\\u0440\\u043e\\u043a\\u0438 \\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043a\\u0438 \\u043c\\u043e\\u0433\\u0443\\u0442 \\u0431\\u044b\\u0442\\u044c \\u0443\\u0432\\u0435\\u043b\\u0438\\u0447\\u0435\\u043d\\u044b. \\u0420\\u0435\\u043a\\u043e\\u043c\\u0435\\u043d\\u0434\\u0443\\u0435\\u043c \\u0443\\u0442\\u043e\\u0447\\u043d\\u044f\\u0442\\u044c \\u0434\\u0430\\u0442\\u0443 \\u0434\\u043e\\u0441\\u0442\\u0430\\u0432\\u043a\\u0438 \\u0443 \\u043c\\u0435\\u043d\\u0435\\u0434\\u0436\\u0435\\u0440\\u043e\\u0432 \\u043f\\u043e \\u0442\\u0435\\u043b\\u0435\\u0444\\u043e\\u043d\\u0443.<\\/h4>\\n    <\\/form>"}}'


Возвращается одна из форм, которая вызывается при добавлении товара в корзину. При том, при добавлении товара в корзину товары возвращаются корректно.
Думал, что неправильно парсится или есть ошибки в форме, но через декодирование json получается валидный код. В журнале ошибок, как и в логе php тоже пусто.
При том, такое происходит не всегда, с одним и тем же товаром 1 из 10 возвращается нормально, также на сайте используется msoptionprice.
Может быть кто-то слакивался, подскажите пожалуйста куда можно покопать, уже кончились мысли.
chieff
24 февраля 2023, 11:02
modx.pro
522
0

Комментарии: 2

Павел Романов
24 февраля 2023, 11:53
0
msoptionprice тоже висит на msOnBeforeChangeInCart и может конфликтовать в Вашим плагином.
Попробуйте поменять приоритет.
    chieff
    24 февраля 2023, 20:19
    0
    Пробовал и там получить, такая же проблема, больше на этом событии ничего нет.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2