I am working in simple event/observer module, but it does not work. I am trying to log the message in deubug.log when click place order button.
I have listed below what I have done
app/code/Gworks/Sms/etc/frontend/events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_directpost_placeOrder">
<observer name="get_place_order" instance="Gworks\Sms\Observer\LogAddMessage"/>
</event>
</config>
app/code/Gworks/Sms/etc/module.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Gworks_Sms" setup_version="1.0.0"/>
</config>
app/code/Gworks/Sms/Observer/LogAddMessage.php
<?php
namespace Gworks\Sms\Observer;
use Magento\Framework\Event\ObserverInterface;
class LogAddMessage implements ObserverInterface
{
protected $_logger;
public function __construct(
\Psr\Log\LoggerInterface $logger, //log injection
array $data = []
) {
$this->_logger = $logger;
//parent::__construct($data);
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$this->_logger->addDebug('getplace oreder event occured successfully!');
}
}
app/code/Gworks/Sms/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Gworks_Sms',
__DIR__
);
Thanks
Best Answer
Your event
checkout_directpost_placeOrder
is wrong.It is only fire whenever Payment method isAuthorizenet Directpost
use
sales_order_place_after
event.