Получить объект заказа внутри заказа по электронной почте установить шаблон vars перед наблюдателем событий


У меня есть наблюдатель для email_order_set_template_vars_before, где я устанавливаю некоторую переменную шаблона электронной почты для использования в электронном письме с подтверждением заказа.

Теперь я хочу узнать, какие продукты заказал клиент в этом порядке и в зависимости от этого заданного значения переменной шаблона электронной почты.

Итак, как я могу получить доступ к объекту порядка внутри этого метода наблюдателя?

Author: Khushbu, 2019-05-15

2 answers

Я сам нашел ответ. Делитесь здесь, чтобы это могло кому-то помочь.

Мы можем получить объект заказа внутри метода выполнения наблюдателя, как показано ниже:

public function execute(\Magento\Framework\Event\Observer $observer)
    {

        $transport = $observer->getTransport();
        $order=$transport['order'];
        $orderId=$order->getEntityId(); /** We can call any method of $order as usual **/

    }

 3
Author: Khushbu, 2019-05-15 08:19:29

Вы можете использовать следующий код для получения данных заказа

public function execute(\Magento\Framework\Event\Observer $observer)
{
    $transport = $observer->getTransport();
    $order = $transport->getData('order');
    $orderId = $order->getId();
}
 0
Author: DJ Dev, 2019-09-20 11:46:19