Воеводский Михаил

Воеводский Михаил

Был в сети 30 марта 2026, 14:44
Заказы не принимаю
Никит, это прекрасный способ продавать сайты на MODX легче — клиент такое очень охотно покупает. И, кстати, возможность редактирования «по-живому» — то, что очень сильно притягивает клиентов к Битриксу. Еще одним аргументом станет меньше. Потому, уверен, продажи пойдут.
Настя, никакого Максима, насколько мне известно, рядом с данной задачей не было )
Павел, Настя принимала участие в работе по данной задаче, прежде чем задача добралась до тебя.
Этот код учитывает обнуляет стоимость доставки при достижении определенной суммы в корзине. Если доставка платная, то учитывается указанная стоимость доставки в свойствах метода доставки.
<?php
if(!class_exists('msDeliveryInterface')) {
	require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}

class msDeliveryFreeBySumHandler extends msDeliveryHandler implements msDeliveryInterface {
	/** @inheritdoc} */
	public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
		$freeOrderSum = $this->modx->getOption('ms2_delivery_free_min_order_sum', null, 0);
		$cart = $order->ms2->cart->status();
		$cart_cost = $cart['total_cost'];
		$delivery_cost = $cart_cost > $freeOrderSum ? 0 : parent::getCost($order, $delivery, $cost);
		$total_cost = $cost > 0 ? $delivery_cost : $cost;
		return $total_cost;
	}

}