Несовместимость Minishop2 и TV galleryitem
Здравствуйте, хочу спросить, никто не сталкивался с подобной ошибкой, как на картинке?
Возникает, когда я включаю плагины на события msOnBeforeAddToCart и msOnAddToCart (для изменения цены и названия товара в корзине) и пытаюсь положить товар в корзину.
После удаления компонента Gallery все приходит в норму.
Немогу понять причину данной ошибки, ведь, по идее, минишоп и галлери никак не связаны. Ковырять сам не полез, сдается мне, там не мой уровень. Поэтому буду надеяться на патч или хотя бы ответ, как мне заставить попадать товар в корзину не удаляя Gallery?
P.S. в плагинах использую метод getTVValue, но тип ТВшника не galleryitem, а обычный текст, так что думаю это действительно баг.
Возникает, когда я включаю плагины на события msOnBeforeAddToCart и msOnAddToCart (для изменения цены и названия товара в корзине) и пытаюсь положить товар в корзину.
После удаления компонента Gallery все приходит в норму.
Немогу понять причину данной ошибки, ведь, по идее, минишоп и галлери никак не связаны. Ковырять сам не полез, сдается мне, там не мой уровень. Поэтому буду надеяться на патч или хотя бы ответ, как мне заставить попадать товар в корзину не удаляя Gallery?
P.S. в плагинах использую метод getTVValue, но тип ТВшника не galleryitem, а обычный текст, так что думаю это действительно баг.
Комментарии: 5
я включаю плагины на событияО содержимом плагинов нам самостоятельно пофантазировать?
Василий, ничего криминального
msOnBeforeAddToCart
msOnBeforeAddToCart
<?php
if ($modx->event->name == 'msOnBeforeAddToCart' && !empty($_REQUEST['tvoption'])) {
$product->set('price', $product->getTVValue($_REQUEST['tvoption']));
}
msOnAddToCart <?php
if ($modx->event->name == 'msOnAddToCart' && !empty($_REQUEST['tvoption'])) {
$getTV = $modx->getObject('modTemplateVar', array('name' => $_REQUEST['tvoption']));
$descr = $getTV->caption;
$tmp = $cart->get();
$tmp[$key]['options']['color'] = $descr;
$cart->set($tmp);
}
Ну тут, как минимум, не фильтруется $_REQUEST['tvoption'].
Полагаю, что при работе с ТВ галереи она выводит какие-нибудь мусорные сообщения, что miniShop2 воспринимает за возврат ошибки.
Советую избавиться от ТВ вообще и расширить модель товаров. Это быстрее и надежнее работает.
Полагаю, что при работе с ТВ галереи она выводит какие-нибудь мусорные сообщения, что miniShop2 воспринимает за возврат ошибки.
Советую избавиться от ТВ вообще и расширить модель товаров. Это быстрее и надежнее работает.
Но каким боком вообще это касается галереи, тип ТВ — текстовый, да и избавляться поздно уже, все значения вбиты, да и не зря разработчики модкс твшки придумали, чтоб так легко от них отказываться.
Скажите тогда хотя бы в какую сторону копать, сам попробую подлатать.
Скажите тогда хотя бы в какую сторону копать, сам попробую подлатать.
Ну если вылезает галерея, видать, есть какая-то связь?
Проверяй, что именно у тебя отправляется $_REQUEST['tvoption'], что там дальше происходит, логируй всё в журнал и смотри.
Больше тут ничего посоветовать нельзя. А, еще можно не использовать плагины на события корзины, и расширить сам класс корзины.
Проверяй, что именно у тебя отправляется $_REQUEST['tvoption'], что там дальше происходит, логируй всё в журнал и смотри.
Больше тут ничего посоветовать нельзя. А, еще можно не использовать плагины на события корзины, и расширить сам класс корзины.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.