Мне нужно было рассчитать стоимость доставки на основе города назначения в процентах от общей суммы заказа.
Я использую таблицу ставок для ставок на основе города назначения, и я создал плагин для изменения метода расчета сборов и использовал этот код для изменения метода расчета:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cart = $objectManager->get('\Magento\Checkout\Model\Cart');
$grandTotal = $cart->getQuote()->getGrandTotal();
$shippingPrice = $subject->getFinalPriceWithHandlingFee($grandTotal*($rate['price']/100));
Это нормально работает во внешнем интерфейсе, но не работает, когда администратор создает заказ из задней панели, потому что, конечно, нет корзины, поэтому он всегда рассчитывает стоимость доставки 0.
Как я могу изменить приведенный выше код для достижения того же результата для заказов, созданных администратором?