Изменение цены товара после добавления в корзину
Задача: что бы цена после добавления в корзину увеличивалась на 18% (НДС)
ms 2.2.0-pl2
Системной настройки ms2_price_snippet больше нету.
Нашла 1) вариант работы с классом msCartHandler (создать новый файл в папке core/components/minishop2/model/minishop2):
И 2 вариант, через создание плагина, с кодом:
Подскажите, пожалуйста, какой из вариантов надо использовать? Пока у меня ни первый ни второй не получается. Или вообще что-то третье нужно делать?
ms 2.2.0-pl2
Системной настройки ms2_price_snippet больше нету.
Нашла 1) вариант работы с классом msCartHandler (создать новый файл в папке core/components/minishop2/model/minishop2):
class msCartHandler2 extends msCartHandler {
public function add($id, $count = 1, $options = array()) {
{здесь писала разный код, но ничего не менялось}
}
Название нового класса ввести в системную настройку ms2_cart_handler_classИ 2 вариант, через создание плагина, с кодом:
case 'msOnAddToCart':
$tmp = $cart->get();
$tmp[$key]['price'] = $tmp[$key]['price']+($tmp[$key]['price']*18)/100;
$cart->set($tmp);
break;
Вот тут не понятно как назвать плагин и что сделать, что бы он начал работать.Подскажите, пожалуйста, какой из вариантов надо использовать? Пока у меня ни первый ни второй не получается. Или вообще что-то третье нужно делать?
Комментарии: 3
Самый простой — 2 вариант. Только не полный код вы скопировали.
Создаёте плагин с любым именем. В него вставляете следующий код:
Создаёте плагин с любым именем. В него вставляете следующий код:
switch ( $modx->event->name ) {
case 'msOnAddToCart':
$tmp = $cart->get();
$tmp[$key]['price'] = $tmp[$key]['price']+($tmp[$key]['price']*18)/100;
$cart->set($tmp);
break;
}
Затем самое главное — устанавливаете в соседней вкладке запуск плагина при возникновении события msOnAddToCart. И сохраняете плагин. Готово.
Большое спасибо!!! Все работает!
Подскажите, пожалуйста, а как сделать, чтоб НДС добавлялась только к общей сумме заказа, там где «Итого + доставка» в карзине
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.