Итак, допустим клиенту потребовалось, чтобы помимо сообщений о том, что требуется указать обязательные поля при заказе, было невозможно отправить заявку, если сумма менее 5 тысяч рублей.
Переходим к реализации минимальной суммы заказа в miniShop2 MODX Revolution.
Создаёшь файл core/components/minishop2/custom/order/myorderhandler.class.php с содержимым:
<?php
class myOrderHandler extends msOrderHandler { public function submit($data = array()) { $min_price_order = $this->modx->getOption('ms2_minimum_price_order'); $cart_status = $this->ms2->cart->status(); $currency = $this->modx->lexicon('ms2_frontend_currency'); if( $cart_status['total_cost'] < $min_price_order ) { return $this->error( 'ms2_order_err_total_price', array(), array('price'=>$min_price_order, 'currency'=>$currency) ); } return parent::submit($data); } }
Далее создаем (желательно в namespace «minishop2») ms2_minimum_price_order со значением минимальной суммы заказа, например: “50000”. Для этого переходим в “Шестеренка – Системные настройки”, в фильтре выбираем minishop2 и создаем новый параметр – нажимаем сохранить.
В настройке ms2_order_handler_class указываешь только что созданный класс обработчик, вот так: myOrderHandler.
Последним шагом осталось добавить необходимый нам текст в словарь. Для этого идем в “Шестеренка – Управление словарями”. В пространстве имен выбираем – minishop2, тема – cart, язык – ru и нажимаем “Создать запись”
Вот мы с вами и реализовали функционала минимальной суммы заказа. В любой момент можно быстро отредактировать сумму. Поздравляю!