Евгений Пашков

Евгений Пашков

С нами с 04 июля 2013; Место в рейтинге пользователей: #511

Кастомный класс доставки. Бесплатно дост. от суммы

Имеется кастомный класс доставки:
<?php
class msxxxDeliveryHandler extends msDeliveryHandler{
    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        $cart = $this->ms2->cart->status();
        $total = $_SESSION['minishop2']['mode_total'];
        
        if ($total<10000) { 
            $add_price = $delivery->get('price');
            if (preg_match('/%$/', $add_price)) {
                $add_price = str_replace('%', '', $add_price);
                $add_price = $cost / 100 * $add_price;
            }
            $cost += $add_price;
        }
        return $cost;
    }
}
При достижении суммы корзины свыше 10000, страница обновляется и вся корзина пересчитывается по оптовым ценам. Доставка становится бесплатной (по условию, свыше 10000, доставка бесплатная ).

Пример, Товар стоимостью 3500р (розничная цена), 3300р (оптовая).
Добавляем 3 наименования.
ИТОГ: в корзине 9900р, доставка бесплатная (по обычной цене сумма получилась 10500)

ВОПРОС: Подскажите, пожалуйста, как сделать, чтобы доставка всегда считалась по оптовой цене?
Klike
13 августа 2015, 09:48
modx.pro
4
2 689
0