Доставка

    Приклад доставки з фіксованою вартістю

    $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;
        }
    }