How To Create Events & Observer Using Custom Module in Magento / Adobe Commerce 2.x

The following below steps to create custom module using Events & Observer

Step [1] – Nominate Module Name ::

Syntax as below

Namespace_Modulename =Mage2db_John

Magento2 Root Directory / app /code / Mage2db / John

Step [2] – Create a module’s registration file :: This file name is registration.php & used to registered module.

File Path as below

Magento2 Root Directory / app /code / Mage2db / John / registration.php

Write below code in registration.php

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Mage2db_John',
    __DIR__
);

Step [3] – Create a module’s naming configuration file :: This file name is module.xml & used to define module name

File Path as below

Magento2 Root Directory / app /code / Mage2db / John / etc / module.xml

Write below code in module.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Mage2db_John" setup_version="1.0.0"/> 
</config>

Step [4] – Create a events.xml file to define events, observer & it’ file

File Path as below

Magento2 Root Directory / app /code / Mage2db / John / etc / events.xml

Write below code in events.xml to define events

<?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_cart_product_add_after">
        <observer name="checkout_cart_product_add_after_customprice" instance="Mage2db\John\Observer\Product\Data" />
</event>
</config>

Event Name=checkout_cart_product_add_after

Observer Name =checkout_cart_product_add_after_customprice

Custom Observer File Path= Mage2db\John\Observer\Product\Data

inside path referring file = Data.php

Step [5] – Create Observer

Create a data.php file

File Path as below

Magento2 Root Directory / app /code / Mage2db / John / Observer / Product / Data.php

Write below code in data.php to override core functionality of Product Model (to increase product price)

<?php
namespace Mage2db\John\Observer\Product;

use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;


class Data implements ObserverInterface
{

    public function execute(Observer $observer)

    {

        $item = $observer->getEvent()->getData('quote_item');            
            $item = ( $item->getParentItem() ? $item->getParentItem() : $item );
            $price = 400; 
            $item->setCustomPrice($price);
            $item->setOriginalCustomPrice($price);
            $item->getProduct()->setIsSuperMode(true);
    }

}

Step [7] – Finally run below CLI command & changes would be reflected as below & changes will be reflected, once products added to Shopping Cart.

php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:flush

Joust Duffle Bag (SKU 24-MB01) It is price INR 90 , once added to Shopping Cart, It price converted INR 300

How To Create Events & Observer Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Preference Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Plugin Using Custom Module in Magento / Adobe Commerce 2.x


How To Get Base URL in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Module in Magento 2.x / Adobe Commerce 2.x


How To Add Custom Block on Cart Page in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Log File in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Controller in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Console Command in Magento 2.x / Adobe Commerce 2.x


How To Add Customer Groups Dropdown in Magento 2.x Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.


How To Get all Customers Data in Magento 2.x / Adobe Commerce 2.x


How To Set Tier Price With Percentage Value Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Tier Price Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Websites Dropdown in Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.x


Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2


How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products


Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

Leave a Reply

Your email address will not be published. Required fields are marked *