Magento projects always end up at customization to fulfill the needs of a store owner or to enhance store functionality & shopping experience. This customization includes adding or overriding existing elements, provides a personal touch and enhance the functionality of Magento 2 stores, indirectly reflects to business revenue. We have never recommended modifying default Magento core files, but alternative way is to override core files. There are several methods to override helper class, but pick any of it depending on the situation.
Compared to Magento 1, overriding and manipulating with classes is becoming much easier for a developer & allows us more ways of extending the native functionalities. One of our client was facing an issue while overriding helper file so we found and implement the solution. Here I’ve come up with the easiest way to override a helper file in Magento 2. You can even come to us with your requirement to customize your Magento store as per your need.
To override Magento 2 Helper file, first you need to create a di.xml file at below the desired location.
Go to Vendor/Extension/etc/di.xml And Write below code into di.xml
1 |
<!--?xml version="1.0"?--> |
Next Step is to Create bundle.php file at Vendor\Extension\Helper\Bundel.php
After that you need to write your own customization logic inside file.
1 |
<!--?php namespace Vendor\Extension\Helper; use Magento\Bundle\Helper\Data as MainHelper; class Bundel extends MainHelper { public function getAllowedSelectionTypes() { //write your logic here } } ?--> |
It’s done. You have successfully override helper class using this method.
If you have faced any issue while overriding helper class, let us know in the comment section.
Happy Overriding!
Hi
I am also facing the same Issue while over ride
Magento\ConfigurableProduct\Helper\Product\Options\Loader file
Error : Notice: Undefined property: $extensionAttributesJoinProcessor
i have over ride
Magento\ConfigurableProduct\Helper\Product\Options\Loader
flile but admin page below issues generate
(Type Error occurred when creating object: Magento\ConfigurableProduct\Model\OptionRepository)
Please confirm you have implemented the code properly and after override given the fill path into the file where a short path is given for the same directory.