I would like to call an observer called 'salesQuoteSaveAfter' in magento 2 but it is not working could you please guide me or suggest me whether i did mistake.
File Paths:
1) app/code/Ewall/CustomPrice/Observer/SalesQuoteSaveAfterCustom.php
namespace Ewall\CustomPrice\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\RequestInterface;
class SalesQuoteSaveAfterCustom
{
protected $checkoutSession;
public function __construct(\Magento\Checkout\Model\Session $checkoutSession)
{
$this->checkoutSession = $checkoutSession;
}
public function invoke($observer)
{
$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/test.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->info('invoke function is calling');
$quote = $observer->getEvent()->getQuote();
/* @var $quote \Magento\Quote\Model\Quote */
if($quote->getIsCheckoutCart())
{
$this->checkoutSession->getQuoteId($quote->getId());
}
}
}
2 ) app/code/Ewall/CustomPrice/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="sales_quote_save_after">
<observer name="Ewall_CustomPrice_Custom" instance="Ewall\CustomPrice\Observer\SalesQuoteSaveAfterCustom" />
</event>
could you please help me. thanks
Best Answer
Try following way: