Изменение цены товара после добавления в корзину

Задача: что бы цена после добавления в корзину увеличивалась на 18% (НДС)

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;
Вот тут не понятно как назвать плагин и что сделать, что бы он начал работать.

Подскажите, пожалуйста, какой из вариантов надо использовать? Пока у меня ни первый ни второй не получается. Или вообще что-то третье нужно делать?
Василиса Белозёрова
13 февраля 2016, 13:51
modx.pro
2
2 117
0

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

Сергей Фещуков
13 февраля 2016, 20:14
1
0
Самый простой — 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. И сохраняете плагин. Готово.
    Василиса Белозёрова
    13 февраля 2016, 20:48
    0
    Большое спасибо!!! Все работает!
      Дмитрий
      06 октября 2016, 15:26
      0
      Подскажите, пожалуйста, а как сделать, чтоб НДС добавлялась только к общей сумме заказа, там где «Итого + доставка» в карзине
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3