{"id":901,"date":"2023-12-07T18:00:46","date_gmt":"2023-12-07T12:30:46","guid":{"rendered":"https:\/\/magecurious.com\/blog\/?p=901"},"modified":"2025-01-28T13:42:09","modified_gmt":"2025-01-28T08:12:09","slug":"how-to-create-event-observer-in-magento-2","status":"publish","type":"post","link":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/","title":{"rendered":"How To Create Event Observer in Magento 2"},"content":{"rendered":"\n<p>Hello Everyone,<\/p>\n\n\n\n<p>In this blog, we will learn about how to Create Event Observer in Magento 2.<\/p>\n\n\n\n<p>The Event can extend the default functionality of Magento 2, without affecting to core code and core files.<\/p>\n\n\n\n<p>We can use our custom logic when some event is performed.<\/p>\n\n\n\n<p>Without wasting your time, let us guide you straight away. Follow the easy step given below to Create Event Observer in Magento 2.<\/p>\n\n\n\n<p><strong>STEPS FOR CREATE EVENT OBSERVER IN MAGENTO 2<\/strong><\/p>\n\n\n\n<p><strong>Step 1: Create events.xml file<\/strong><\/p>\n\n\n\n<p>There are three area to declare events.xml file.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nglobal area: app\/code\/Vendor\/Extension\/etc\/events.xml\nfrontend area: app\/code\/Vendor\/Extension\/etc\/frontend\/events.xml\nadmin area: app\/code\/Vendor\/Extension\/etc\/adminhtml\/events.xml\n<\/pre><\/div>\n\n\n<p><strong>app\/code\/Vendor\/Extension\/etc\/frontend\/events.xml<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?xml version=&quot;1.0&quot;?&gt;\n\n&amp;lt;config xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:framework:Event\/etc\/events.xsd&quot;&gt;\n     &amp;lt;event name=&quot;checkout_cart_product_add_after&quot;&gt;\n         &amp;lt;observer name=&quot;magecurious_checkout_cart_product_add_after&quot; instance=&quot;Vendor\\Extension\\Observer\\CheckoutCartProductAddAfter&quot; \/&gt;\n     &amp;lt;\/event&gt;\n&amp;lt;\/config&gt;\n<\/pre><\/div>\n\n\n<p><strong>Step 2: Create CheckoutCartProductAddAfter.php file<\/strong><\/p>\n\n\n\n<p><strong>app\/code\/Vendor\/Extension\/Observer\/\u0421heckout\u0421artProductAddAfter.php<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\n\nnamespace Vendor\\Extension\\Observer;\n\nuse Magento\\Framework\\Event\\ObserverInterface;\nuse Psr\\Log\\LoggerInterface;\n\nclass CheckoutCartProductAddAfter implements ObserverInterface\n{\n    protected $logger;\n\n     public function __construct(\n        LoggerInterface $logger\n    ) {\n        $this-&gt;logger = $logger;\n    }\n\n    public function execute(\\Magento\\Framework\\Event\\Observer $observer)\n    {\n        $this-&gt;logger-&gt;info(&#039;Observer Called&#039;);\n        $product = $observer-&gt;getProduct();\n        $item = $observer-&gt;getQuoteItem();\n\n        $product = $observer-&gt;getData(&#039;product&#039;);\n        $item = $observer-&gt;getData(&#039;quote_item&#039;);\n    }\n}\n<\/pre><\/div>\n\n\n<p><strong>Step 3: Finally run the below commands<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$ php bin\/magento cache:clean\n$ php bin\/magento cache:flush\n<\/pre><\/div>\n\n\n<p><strong>Final Thoughts:<\/strong><\/p>\n\n\n\n<p>So this was the easiest way which we have told you in this blog. This is how you can Create Event Observer in Magento 2. Hope you liked the blog.<\/p>\n\n\n\n<p>So quickly go to the comment box and tell me how you like this blog?<\/p>\n\n\n\n<p><strong>Stay tuned with us on our site to get new updates of Magento.<\/strong><\/p>\n\n\n\n<p>Thanks for reading and visiting our site.<\/p>\n\n\n<!-- FeedbackWP Plugin --><div  class=\"rmp-widgets-container rmp-wp-plugin rmp-main-container js-rmp-widgets-container js-rmp-widgets-container--901 \"  data-post-id=\"901\">    <!-- Rating widget -->  <div class=\"rmp-rating-widget js-rmp-rating-widget\">          <p class=\"rmp-heading rmp-heading--title\">        How useful was this post?      <\/p>              <p class=\"rmp-heading rmp-heading--subtitle\">        Click on a star to rate it!      <\/p>        <div class=\"rmp-rating-widget__icons\">      <ul class=\"rmp-rating-widget__icons-list js-rmp-rating-icons-list\">                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Not at all useful\" data-value=\"1\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star \"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Somewhat useful\" data-value=\"2\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star \"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Useful\" data-value=\"3\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star \"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Fairly useful\" data-value=\"4\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star \"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Very useful\" data-value=\"5\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star \"><\/i>          <\/li>              <\/ul>    <\/div>    <p class=\"rmp-rating-widget__hover-text js-rmp-hover-text\"><\/p>        <button class=\"rmp-rating-widget__submit-btn rmp-btn js-submit-rating-btn\">      Submit Rating    <\/button>    <p class=\"rmp-rating-widget__results js-rmp-results rmp-rating-widget__results--hidden\">      Average rating <span class=\"rmp-rating-widget__results__rating js-rmp-avg-rating\">0<\/span> \/ 5. Vote count: <span class=\"rmp-rating-widget__results__votes js-rmp-vote-count\">0<\/span>    <\/p>    <p class=\"rmp-rating-widget__not-rated js-rmp-not-rated \">      No votes so far! Be the first to rate this post.    <\/p>    <p class=\"rmp-rating-widget__msg js-rmp-msg\"><\/p>  <\/div>  <!--Structured data -->        <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello Everyone, In this blog, we will learn about how to Create Event Observer in Magento 2. The Event can extend the default functionality of Magento 2, without affecting to core code and core files. We can use our custom logic when some event is performed. Without wasting your time, let us guide you straight [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":902,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-901","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magento-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How To Create Event Observer in Magento 2 - Magecurious<\/title>\n<meta name=\"description\" content=\"Learn how to create an event observer in Magento 2 to customize your store&#039;s functionality and respond to system events.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Create Event Observer in Magento 2 - Magecurious\" \/>\n<meta property=\"og:description\" content=\"Learn how to create an event observer in Magento 2 to customize your store&#039;s functionality and respond to system events.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Magecurious\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-07T12:30:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-28T08:12:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"496\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Magecurious\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Magecurious\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How To Create Event Observer in Magento 2 - Magecurious","description":"Learn how to create an event observer in Magento 2 to customize your store's functionality and respond to system events.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/","og_locale":"en_US","og_type":"article","og_title":"How To Create Event Observer in Magento 2 - Magecurious","og_description":"Learn how to create an event observer in Magento 2 to customize your store's functionality and respond to system events.","og_url":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/","og_site_name":"Magecurious","article_published_time":"2023-12-07T12:30:46+00:00","article_modified_time":"2025-01-28T08:12:09+00:00","og_image":[{"width":1200,"height":496,"url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","type":"image\/png"}],"author":"Magecurious","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Magecurious","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#article","isPartOf":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/"},"author":{"name":"Magecurious","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/6bced7da0991e7fbbd4550006a6494e2"},"headline":"How To Create Event Observer in Magento 2","datePublished":"2023-12-07T12:30:46+00:00","dateModified":"2025-01-28T08:12:09+00:00","mainEntityOfPage":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/"},"wordCount":187,"commentCount":0,"publisher":{"@id":"https:\/\/magecurious.com\/blog\/#organization"},"image":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","articleSection":["Magento 2 Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/","url":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/","name":"How To Create Event Observer in Magento 2 - Magecurious","isPartOf":{"@id":"https:\/\/magecurious.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#primaryimage"},"image":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","datePublished":"2023-12-07T12:30:46+00:00","dateModified":"2025-01-28T08:12:09+00:00","description":"Learn how to create an event observer in Magento 2 to customize your store's functionality and respond to system events.","breadcrumb":{"@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#primaryimage","url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","contentUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","width":1200,"height":496},{"@type":"BreadcrumbList","@id":"https:\/\/magecurious.com\/blog\/how-to-create-event-observer-in-magento-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/magecurious.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Create Event Observer in Magento 2"}]},{"@type":"WebSite","@id":"https:\/\/magecurious.com\/blog\/#website","url":"https:\/\/magecurious.com\/blog\/","name":"Magecurious","description":"Blog","publisher":{"@id":"https:\/\/magecurious.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/magecurious.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/magecurious.com\/blog\/#organization","name":"Magecurious","url":"https:\/\/magecurious.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2026\/03\/cropped-New_Project.png","contentUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2026\/03\/cropped-New_Project.png","width":596,"height":113,"caption":"Magecurious"},"image":{"@id":"https:\/\/magecurious.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/6bced7da0991e7fbbd4550006a6494e2","name":"Magecurious","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c9178df2190b2309da97c9f28dd475bc338275cf664d12678d7e5da51c761271?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c9178df2190b2309da97c9f28dd475bc338275cf664d12678d7e5da51c761271?s=96&d=mm&r=g","caption":"Magecurious"},"sameAs":["https:\/\/magecurious.com"],"url":"https:\/\/magecurious.com\/blog\/author\/magecurious-wp\/"}]}},"jetpack_featured_media_url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/12\/CREATE-EVENT-OBSERVER-.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts\/901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":0,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts\/901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/media\/902"}],"wp:attachment":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/media?parent=901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/categories?post=901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/tags?post=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}