оформления заказа Minishop2
Всем привет. Подскажите, как реализовать на MiniShop 2: Необходимо сделать минимальную сумму заказа, т.е. Оформление заказа должно совершаться если сумма заказов выше заданной (Например: 5000 р.)
Комментарии: 2
Ну, как вариант — выставлять условия на плейсхолдер итоговой цены.
Для чанка корзины (tpl.msCart.outer):
+ перехватывать итоговую стоимость плагином на события msOnBeforeChangeOrderStatus и аналогичным, сравнивая стоимость с требуемой и, в зависимости от этого, редиректить или выводить необходимые алерты.
Единственное, если у вас, допустим, расширен класс корзины для ajax-обновления, то также придется повесить условия на javascript.
Для чанка корзины (tpl.msCart.outer):
[[+total_count:lt=`5000`:then=`
Для оформления заказа сумма должна превышать 5000 рублей.
`:else=`
(дефолтное содержание чанка корзины с кнопкой для оформления заказа)
`]]
Для чанка оформления заказа (tpl.msOrder.outer) использовать ту же логику, только плейсхолдером выступит [[+order_cost]]+ перехватывать итоговую стоимость плагином на события msOnBeforeChangeOrderStatus и аналогичным, сравнивая стоимость с требуемой и, в зависимости от этого, редиректить или выводить необходимые алерты.
Единственное, если у вас, допустим, расширен класс корзины для ajax-обновления, то также придется повесить условия на javascript.
Плагин правильнее на событие msOnSubmitOrder. Разница в том, что блокировать оформление заказа необходимо еще до его создания. Указанное событие вызывается самым первым, еще до создания нового объекта и проверки введенных полей.
А проверять на этом событии необходимо сумму в корзине.
Если делать именно таким образом, то не должно возникнуть необходимости изменять стандартный JS.
А проверять на этом событии необходимо сумму в корзине.
Если делать именно таким образом, то не должно возникнуть необходимости изменять стандартный JS.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.