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 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
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