Доставка
Пример доставки с фиксированной стоимостью
$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;
}
}