Скидка в зависимости от суммы заказа

Добрый день.
Направьте, что делаю не так.
Пытаюсь сделать скидку в зависимости от суммы заказа (если более 2500, то 20% скидка)
Что-то не пашет((
<?php
switch ($modx->event->name) {
	case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnRemoveFromCart':
    	
    	$cartArray = $cart->get();
        $cartStatus = $cart->status();
        $totalCount = $cartStatus['total_count'];
    	
		if ($total_cost >= 2500) {
			
	        foreach ($cartArray as &$cartProduct) { // Обрабатываем все товары корзины
	            if ($product = $modx->getObject('msProduct', $cartProduct['id'])) { 
	                $cartProduct['price'] = $product->get('price') * 0.8; 
	            }
	        }
	 
	        $cart->set($cartArray);
		}
		
	break;

}
Андрей
10 июня 2019, 18:28
modx.pro
1
814
0

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

Андрей
11 июня 2019, 09:00
0
Никто не поможет?
    Алексей
    11 июня 2019, 09:19
    0
    Добрый день, Андрей.
    Вот посмотрите здесь. Я этот плагин создавал, все работало.
      Андрей
      11 июня 2019, 09:36
      0
      Спасибо. Все пересчитывается, а вот старая цена почему-то только после перезагрузки появляется и пропадает тоже только после перезагрузки.
        Андрей
        11 июня 2019, 09:38
        0
        Отбой, все гуд — не на все события повесил плагин. Спасибо огромное!
        А как из корзины убрать пересчет цены для одного товара (у нас один товар ни при каком раскладе не идет акционным)
          Алексей
          11 июня 2019, 10:59
          0
          А вот здесь не подскажу, плагин ведь работает от общей суммы заказа, а не от позиций.
            Андрей
            11 июня 2019, 17:08
            0
            А вроде там идет перебор товаров заказа и скидка на цену товара? Что в конечном итоге даёт скидку на весь заказ?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6