In this tutorial, I will explain you how to override a block/model in Magento 2.
The following steps are:
Step 1: Override a block
Override catalog product block
Form di.xml file in app/code/[Name_Space]/[Your_Module]/etc
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Catalog\Block\Product\ListProduct" type="[Name_Space]\[Your_Module]\Block\Rewrite\Product\ListProduct" /> </config> Create ListProduct.php Block file in app/code/[Name_Space]/[Your_Module]/Block/Rewrite/Product <?php namespace [Name_Space]\[Your_Module]\Block\Rewrite\Product; class ListProduct extends \Magento\Catalog\Block\Product\ListProduct { public function _getProductCollection() { } }
Step 2: override a model
Override a catalog product model
Form di.xml file in app/code/[Name_Space]/[Your_Module]/etc
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Catalog\Model\Product" type="[Name_Space]\[Your_Module]\Model\Rewrite\Catalog\Product" /> </config> Form Product.php Model file in app/code/[Name_Space]/[Your_Module]/Model/Rewrite/Catalog <?php namespace [Name_Space]\[Your_Module]\Model\Rewrite\Catalog; class Product extends \Magento\Catalog\Model\Product { public function is Scalable() { } }
Leave a Reply