Magento 2: Как Передать Данные Из Наблюдателя в файл Phtml


Я получаю идентификатор заказа из события успеха заказа, я хочу передать заказ на страницу phtml. Я попытался с помощью сеанса оформления заказа, но не получил идентификатор заказа на странице phtml. любой может помочь мне в этом. я получаю заказ от кода ниже

$order_ids = $observer->getEvent()->getOrderIds()[0];
           $order = $this->orderRepository->get($order_ids);
           $orderId  = $order->getIncrementId();

Установите сеанс и теперь получите значение сеанса на странице phtml

$observer_session = $objectManager->get('Magento\Framework\Session\SessionManagerInterface');
$order = $observer_session->getValue();
Author: Sarvesh Tiwari, 2018-06-23

1 answers

Вам нужно сделать вот так.

  1. От вашего наблюдателя установите значение заказа в пользовательскую переменную сеанса.

  2. В файле phtml получите это значение из переменной сеанса.

Вот демонстрационный код.

protected $_coreSession;

public function __construct(
    -----
    \Magento\Framework\Session\SessionManagerInterface $coreSession
    ){
    $this->_coreSession = $coreSession;
    ----
}

public function setValue(){
    $this->_coreSession->start();
    $this->_coreSession->setMessage('YOUR_CUSTOM_VALUE');
}

public function getValue(){
    $this->_coreSession->start();
    return $this->_coreSession->getMessage();
}

public function unSetValue(){
    $this->_coreSession->start();
    return $this->_coreSession->unsMessage();
}
 1
Author: Dhiren Vasoya, 2018-06-23 10:26:44