Почему-то не работает плагин на msOnBeforeAddToCart
Добрый день.
Пишу плагин который дает 5% скидки на определенную группу товаров. Вешаю его на событие msOnBeforeAddToCart.
В результате одна часть работает, вторая нет… хотя через print_r выводит верную цену, но в корзину все равно попадает цена без скидки… Помогите почему так происходит
Пишу плагин который дает 5% скидки на определенную группу товаров. Вешаю его на событие msOnBeforeAddToCart.
В результате одна часть работает, вторая нет… хотя через print_r выводит верную цену, но в корзину все равно попадает цена без скидки… Помогите почему так происходит
<?php
$plamgasCatsId = 10535;
$target = 6;
switch ($modx->event->name) {
case 'msOnBeforeAddToCart':
$products = $modx->getObject('msProduct', $product->get('id'));
if ($products->get('parent') == $plamgasCatsId) {
$price_product_id = $products->get('price_id_product');
$para = $products->get('para')[0];
foreach ($price_product_id as $product_id) {
$res = $modx->getObject('msProduct',$product_id);
if ($res) {
$price_sostav = $res->get('price');
$price_sum += $price_sostav;
if ($para[0] == 1) {
$price_sum = $price_sum*2;
}
}
}
$price_sale = $price_sum * 0.95;
$product->set('price', $price_sale);
//$product->set('price', $price_sum);
}
else {
$pids = $modx->getParentIds($products->get('id'), 10, array('context' => 'web'));
if (in_array($target, $pids)) {
$price_sale = $products->get('price') * 0.95;
// Вот эта строка не работает, все остальное работает корректно.
$product->set('price', $price_sale);
}
}
break;
} Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Почему-то не работает лаже скрипт из документации
Как выяснить причину?
все равно не меняет ценник.
Я тут плагины поотключал и выяснил что при отключении плагина msOptionPrice все работает. Но вот где он ценник перебивает ума не приложу
А другая часть, которая должна применять скидку к товарам одной категории — не работает