Как поставить минимальную цену на корзину Новый

Дополнение: shopkeeper

Еще раз добрый день. Поискал но что то готовых решений не нашел. В общем суть проста, минимальный заказ в магазине 6000 рублей. В целом при добавлении в корзину это указано но было бы неплохо если бы не пропускало менее 6000 или выдавало сообщение что то типа «дозакажите» или минимальный заказ 6000 рублей, продолжите покупки.
С меня пиво
20 сентября 2016, 11:12    Рустам   
0    264 0

Комментарии (8)

  1. Сергей Скат 20 сентября 2016, 14:34 # 0
    ну ты можешь или плагин написать который проверяет входную цену и отдавать сообщение, либо джаваскриптом проверяй есть ли в корзине 6к и вставляй кнопку заказать в дом
    1. Рустам 20 сентября 2016, 14:37 # 0
      плагин я вряд ли напишу, а вот по поводу js если можно поподробней плиз
      1. Захарий 20 сентября 2016, 15:15 # 0
        Ну допустим, у тебя цена в #ms2_order_cost. Тебе нужно сделать функцию, которая срабатывает для каждого события, которое может изменить цену( изменение количества товара, удаление и т.д). Функция должна проверить какая там внутри сума ($('#ms2_order_cost').value > 6000) и вывести не обходимую инфу для допуска/запрещения клика( Это может быть атрибут disabled ну или можешь скрывать через display:none). Но ты должен понимать, что это js, и любой юзер может это обойти. Можешь еще в довесок отправлять ajax при нажатии на кнопку «Заказать» на проверки сумы заказа(он в сессии) и возвращать true/false. Но лучше плагин.
      2. Роман Садоян 20 сентября 2016, 15:12 # 0
        У меня есть решение, но я смогу предоставить его через часа 4-5. Сейчас нет доступа к этому проекту.

        Там смысл в плагине на событие msOnSubmitOrder и в проверке стоимости корзины.
        1. Рустам 20 сентября 2016, 15:17 # 0
          было бы супер если бы это решалось все плагином, с js согласен, но чувствую с аяксом придется повозится
          1. Роман Садоян 20 сентября 2016, 15:35 # 0
            if ($modx->event->name == 'msOnSubmitOrder'){
                    if($cart = $order->ms2->cart->status()) {
                        if($cart['total_cost'] < 1000) {
                            $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
                        } 
                    }
            }
            Источник
          2. Рустам 20 сентября 2016, 15:37 # 0
            Это к Shop_Cart?
            1. Захарий 21 сентября 2016, 00:49 # +1
              Не в обиду конечно, но не понимаю, как человек собирается писать плагины или скрипты, если даже на элементарную кнопку «ответить» или «Предпросмотр» не нажимает.
              Вы должны авторизоваться, чтобы оставлять комментарии.