Минимальная сумма заказа minishop2

Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000) {
                $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
            } 
        }
}
Работает этот способ, но независимо от выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Андрей
14 мая 2020, 12:35
modx.pro
1
94
+1

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

Антон Тарасов
14 мая 2020, 13:23
0
Вам нужно добавить также условие по ID способа доставки, который самовывывоз, чтобы выполнялось только для него. $delivery->get('id')
    Андрей
    14 мая 2020, 13:36
    0
    <?php
    if ($modx->event->name == 'msOnSubmitOrder'){
            if($cart = $order->ms2->cart->status()) {
                if($cart['total_cost'] < 1000 && $delivery->get('id') == 1) {
                    $modx->event->output('Минимальная сумма заказа для выбранного способа доставки 10000 руб!');
                } 
            }
    }
    Не получается.
      Антон Тарасов
      14 мая 2020, 13:42
      0
      неверно.
      if($cart['total_cost'] < 1000 && (1 == $delivery->get('id'))) /*если ID самовывоза=1*/{..}
Sergey
14 мая 2020, 16:06
0
<?php
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000 || $delivery->get('id') == 'payment_1') {
                $modx->event->output('Минимальная сумма заказа для выбранного способа доставки 10000 руб!');
            } 
        }
}
так попробуй
    Андрей
    14 мая 2020, 16:31
    0
    <?php
    $cart_status = $order->ms2->cart->status();
    $order_status = $order->get();
    
    if ($modx->event->name == 'msOnSubmitOrder'){
        if ($cart_status['total_cost'] < 10000 && $order_status['delivery'] <> 1) {
            $modx->event->output('Минимальная сумма заказа для выбранного способа доставки 10000 рублей!');
        } 
    }
    Вот так получилось.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6