Magento 2: Override/Rewrite Block, Model, Controller, Helper using Plugin & Preference

This article shows how you can override / rewrite Block, Controller, Model, and Helper in Magento 2. This can be done by two ways: 1) using Preference 2) using Plugin Preference is similar to class rewrite in Magento 1. There is always possibility of conflict when two or more custom modules try to rewrite/override same … Read more

Magento 2: Before & After Method Observer using Plugin

Magento 2 provides a new feature called Plugin or Interceptor that is used to run some code before/after/around any function call of any public class. Hence, with the help of Plugins, we can change the behavior of class method without making any changes in the code of the class itself. This also avoids conflicts with … Read more

Auto Currency Switcher 2: Magento 2 Extension [FREE]

Auto Currency Switcher 2 is a currency switcher extension for Magento 2 which automatically switches store currency based on visitor’s IP address. Auto Currency Switcher 2 extension tracks visitor’s IP address and automatically changes the store currency to the visitor’s location currency. Visitor can switch to his/her desired currency at any time. This extension uses … Read more

Magento 2: Event Observer

This article shows how you can create event observer in a custom module in Magento 2. In Magento 2, there is a separate xml file where you can define your event observer. For frontend events, you need to write your code in app/code/YourCompany/YourModule/etc/frontend/events.xml and for admin events, you need to write event observer code in … Read more

Magento 2: [InvalidArgumentException] There are no commands defined in the “setup” namespace

I am getting the following error while adding a new module to my Magento 2 installation and running the command on terminal php bin/magento setup:upgrade. [InvalidArgumentException] There are no commands defined in the “setup” namespace The same kind of error will be displayed in terminal when I try to run other commands like php bin/magento … Read more

Magento 2: Get All Product Attributes with Name and Value

This article shows how to load product by it’s ID and then get all attributes associated with that product in Magento 2. We print the attribute code, attribute name, and attribute value of all the attributes related to any particular product. We will be using Magento 2’s Service Layer for this task. Use of Service … Read more