ব্লক, মডেল এবং কন্ট্রোলার ফাইলকে ওভাররাইড করার জন্য দুটি পদক্ষেপ রয়েছে
1) di.xML এ পছন্দ যুক্ত করুন
2) আপনার মডিউলে ব্লক, মডেল এবং কন্ট্রোলার ফাইল তৈরি করুন
নেমস্পেস: প্রিন্স
মডিউল নাম: হেলিওরল্ড
উদাহরণস্বরূপ ক্যাটালগ পণ্য তালিকার পণ্য ব্লক ওভাররাইড করা
1) ফোল্ডারে di.xML ফাইল তৈরি করুনPrince/Helloworld/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="Prince\Helloworld\Model\Rewrite\Catalog\Product" />
</config>
2) ফোল্ডারে listPr Prodct.php তৈরি করুনPrince/Helloworld/Block/Rewrite/Product
<?php
namespace Prince\Helloworld\Block\Rewrite\Product;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
{
public function _getProductCollection()
{
// Do your code here
}
}
উদাহরণস্বরূপ ক্যাটালগ পণ্য মডেল ওভাররাইড করা।
1) di.xML এ পছন্দ যুক্ত করুনPrince/Helloworld/etc
<preference for="Magento\Catalog\Model\Product" type="Prince\Helloworld\Model\Rewrite\Catalog\Product" />
2) ফোল্ডারে প্রোডাক্ট.এফপি মডেল ফাইল তৈরি করুন Prince/Helloworld/Model/Rewrite/Catalog
<?php
namespace Prince\Helloworld\Model\Rewrite\Catalog;
class Product extends \Magento\Catalog\Model\Product
{
public function isSalable()
{
// Do your code here
return parent::isSalable();
}
}
ওভাররাইডিং কন্ট্রোলার
1) di.xML এ পছন্দ যুক্ত করুনPrince/Helloworld/etc
<preference for="Magento\Catalog\Controller\Product\View" type="Prince\Helloworld\Controller\Rewrite\Product\View" />
2) ফোল্ডারে ভিউ.এফপি তৈরি করুনPrince/Helloworld/Controller/Rewrite/Product
class View extends \Magento\Catalog\Controller\Product\View
{
public function execute()
{
// Do your stuff here
return parent::execute();
}
}
আপনি একই পদ্ধতি ব্যবহার করে অন্যান্য ব্লক, মডেল এবং নিয়ন্ত্রকদের ওভাররাইড করতে পারেন।