Доставка
Приклад доставки з фіксованою вартістю
$title = 'Доставка по місту';
$price = ci()->currency->convertToActive(300);
switch ($modx->Event->name) {
case 'OnRegisterDelivery': {
// Реєстрація доставки
$params['rows']['fixed'] = [
'title' => $title,
'price' => $price,
];
break;
}
case 'OnCollectSubtotals': {
$processor = $modx->commerce->loadProcessor();
if ($processor->isOrderStarted() && $processor->getCurrentDelivery() == 'fixed') {
// Якщо замовлення в процесі оформлення та ця доставка вибрана,
// додаємо вартість доставки до замовлення
$params['total'] += $price;
$params['rows']['fixed'] = [
'title' => $title,
'price' => $price,
];
}
break;
}
}