Как отследить изменение цены в корзине?

Мне нужно сделать следующее:
если общая сумма к оплате в корзине больше 2000, то показывать кнопку «Оформить заказ», иначе — писать, что минимальный заказ — 2000 рублей.

Как отследить изменение итоговой цены в корзине? Куда копать?
Василий Столейков
05 апреля 2015, 15:06
modx.pro
3
1 346
0
Поблагодарить автора Отправить деньги

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

Алексей Ерохин
05 апреля 2015, 19:04
+1
Вам нужно написать callback к Order.getcost, где проверять текущую стоимость товаров корзине, и показывать кнопку, если больше 2000.

miniShop2.Callbacks.Order.getcost.response.success = function(response) {
	if(response.data['cost'] > 2000) {
		$('button').show();
	}
}
    Василий Столейков
    06 апреля 2015, 12:25
    0
    Спасибо! Использовал ваш вариант!
    Очень давно волновал этот вопрос, а ответ оказался довольно простым!
    Володя
    05 апреля 2015, 19:13
    +2
    да вообще вариантов полно, Василий постарался.
    можно кэлбак как выше написали, можно например вклиниться на момент создания заказа (msOnSubmitOrder) и показать инфу в попапе, можно расширить класс корзины — там вообще любую задумку можно сделать, можно написать свой велосипед использую информацию из сессии
      Володя
      05 апреля 2015, 19:14
      +2
      вариант на событие
      if ($modx->event->name == 'msOnSubmitOrder'){
          if($cart = $order->ms2->cart->status()) {
              if($cart['total_cost'] < 2000) {
                  $modx->event->output('Сумма вашего заказа должна превышать 2000 руб!');
              } 
          }
      }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4