Получите адрес доставки на checkout_onepage_controller_success_action в Magento 2
Я хочу получить все сведения о доставке в событии checkout_onepage_controller_success_action.
Я использую следующий код:
$event = $observer->getEvent();
$orderIds = $event->getOrderIds();
$order_id = $orderIds[0];
$shipping = $order_id->getShippingAddress()->getData();
$shippingMethod = $order_id->getShippingMethod();
Получение ошибки Ошибка: вызов функции-члена getShippingAddress() в строке.
По моему мнению, способ передачи $order_id в getShippingAddress() неверен. Может ли кто-нибудь проинформировать меня о том же? Я хочу получить полные данные по идентификатору заказа.
Раши
1 ответ
Этот код в вашем классе наблюдателя должен работать:
protected $orderFactory;
public function __construct(
\Magento\Sales\Model\OrderFactory $orderFactory
) {
$this->orderFactory = $orderFactory;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$orderId = $observer->getEvent()->getOrderIds()[0];
$order = $this->orderFactory->create()->load($orderId);
$shippingInformation = $order->getShippingAddress();
}