Обновление корзины или рефреш страницы

Добрый день!

Сделал плагин для добавления подарка при достижении определенной суммы. Код стандартен

switch ($modx->event->name) {
	case 'msOnAddToCart': case 'msOnChangeInCart': case 'msOnRemoveFromCart':
		$cartArray = $cart->get();
		$cartStatus = $cart->status();
		
		if ($cartStatus['total_cost'] >= 100){
			$cart->add(666);
			$cartArray = $cart->get();
			foreach ($cartArray as &$cartProduct) {
				if ($cartProduct['id'] == 666) {
					$cartProduct['count'] = 1;
				}
			}
		}
		else{
			foreach ($cartArray as $key => $cartProduct) {
				if ($cartProduct['id'] == 666) {
					unset($cartArray[$key]);
				}
			}
		}
		$cart->set($cartArray);
		break;
}
подарок добавляется в корзину ($cart) все хорошо, но не знаю как обновить страницу с корзиной чтобы показать добавленный подарок в корзине. Тоже самое при удалении части заказа из корзины, если сумма заказа уменьшилась, я из $cart удаляю подарок, но страницу с корзиной не могу обновить.
Как обновить страницу с корзиной?
Алексей Хребтов
28 марта 2017, 15:24
modx.pro
4
2 237
+1

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

Алексей Хребтов
29 марта 2017, 19:52
0
Пишу решение может кому пригодится.

Я сделал обновление страницы с корзиной при достижении максимальной суммы.
В js скриптах странице в удобном месте сделал функцию перезагружающую страницу

function giftItem( cost ){
			if (cost >= 100 ) { location.reload() }
			else {
				$('#msCart tr').each(function (){
					if (parseInt($(this).find('.price span').text(),10) == 0) {
						location.reload()
					}
				})
			}
		}
А вызываю функцию в келбеке Минишопа

miniShop2.Callbacks.Cart.change.response.success = function( response ) {
	        if ( response['success'] == true  ) {
	            var cost = response.data['total_cost'];
	            updateDeliveryPrice( cost );
	            giftItem( cost );
	        }
		};
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1