Showing results for 
Search instead for 
Did you mean: 

checkout_cart_product_add_after event

checkout_cart_product_add_after event

Hi all, I need to change the price of a product when there is an attribute during insertion of the product itself to the cart.

I realized that I can do this with the "Observer" events.

Below my code (for example), but when I add the product in cart it is not called the event:


In the directory: "app/code/MyVendor/Customprice/etc/frontend/events.xml" I included this:

<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="checkout_cart_product_add_after">
        <observer name="custom_price" instance="MyVendor\Customprice\Model\CustompriceObserver" />


While in the directory: "app/code/MyVendor/Customprice/Model/Customprice.phpI included this:

    namespace MyVendor\Customprice\Model;
    use Magento\Framework\Event\ObserverInterface;
    use Magento\Framework\App\RequestInterface;
    use Magento\Framework\Registry;
    class CustompriceObserver implements ObserverInterface
        protected $logger;

        public function __construct(\Psr\Log\LoggerInterface $logger){
          $this->logger = $logger;

        public function execute(\Magento\Framework\Event\Observer $observer) {

I disabled the cache and empty, why not release me anything in my debug.log files?




Tags (2)

Re: checkout_cart_product_add_after event

Hello Vincenzondb 

Move event.xml file from the directory: "app/code/MyVendor/Customprice/etc/frontend/events.xml" to "app/code/MyVendor/Customprice/etc/events.xml".


And if problem with logger then insert the following code inside your observer execute method 

Create a log file 'mylog.log' inside var/log/ and add write permission to the log file


    $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/mylog.log');
    $logger = new \Zend\Log\Logger();
    $logger->info("Here your cmment");