I want to override an event checkout_type_onepage_save_order_after
.
For this I already tried below code :
etc/frontend/events.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_type_onepage_save_order_after">
<observer name="mycustomobserver" instance="Namespace\Module\Observer\CreateTestFormObserver"/>
</event>
</config>
Namespace\Module\Observer\CreateTestFormObserver.php
<?php
namespace Namespace\Module\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\Event\Observer as EventObserver;
class CreateTestFormObserver implements ObserverInterface
{
private $logger;
protected $messageManager;
public function __construct(
\Psr\Log\LoggerInterface $logger) {
$this->logger = $logger;
}
public function execute(EventObserver $observer)
{
$this->logger->addDebug('CreateTestFormObserver');
}
}
But my file is not called after placing an order. I identify this by my log, which is not generated on or after placing an order.
Best Answer
I found solution which is as below :
Change event.xml file position to etc/events.xml and code is :
And put folder of event at Namespace\Module\Observer\Frontend\CreateTestForm.php and now code is :