i need a complete order array with all items in observer.
here is event : etc/frontend/events.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
<event name="checkout_onepage_controller_success_action">
<observer name="webhive_sps_controller_success_action" instance="WebHive\SPS\Observer\MyObserver" />
</event>
Observer file: Observer/Myobserver.php
<?php
namespace WebHive\SPS\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\DataObject as Object;
class MyObserver implements ObserverInterface {
/*protected $_objectManager;
public function __construct(\Magento\Framework\ObjectManager $objectManager)
{
$this->_objectManager= $objectManager;
}*/
/**
* @override
* @see ObserverInterface::execute()
* @used-by \Magento\Framework\Event\Invoker\InvokerDefault::_callObserverMethod()
* @see \Magento\Framework\App\Action\Action::dispatch()
* https://github.com/magento/magento2/blob/dd47569249206b217e0a9f9a9371e73fd7622724/lib/internal/Magento/Framework/App/Action/Action.php#L91-L92
$eventParameters = ['controller_action' => $this, 'request' => $request];
$this->_eventManager->dispatch('controller_action_predispatch', $eventParameters)
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function execute(\Magento\Framework\Event\Observer $observer) {
$event = $observer->getEvent();
$orderIds = $event->getOrderIds();
$order_id = $orderIds[0];
echo $order_id; // prints current order id (e.g : 7)
// Here i need some function like getOrderDetails that prints order array
}
}
Best Answer