Có hai bước để ghi đè tệp Khối, Mô hình và Trình điều khiển
1) Thêm tùy chọn trong di.xml
2) Tạo tập tin khối, mô hình và bộ điều khiển trong mô-đun của bạn
Không gian tên: Hoàng tử
Tên mô-đun: Hellowworld
Ví dụ để ghi đè danh mục sản phẩm Khối sản phẩm
1) Tạo tệp di.xml trong Thư mụcPrince/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) Tạo List SẢNt.php trong Thư mụcPrince/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
}
}
Ví dụ để ghi đè mô hình sản phẩm danh mục.
1) Thêm tùy chọn trong di.xml tạiPrince/Helloworld/etc
<preference for="Magento\Catalog\Model\Product" type="Prince\Helloworld\Model\Rewrite\Catalog\Product" />
2) Tạo tệp Model.php trong Thư mục 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();
}
}
Bộ điều khiển ghi đè
1) Thêm tùy chọn trong di.xml tạiPrince/Helloworld/etc
<preference for="Magento\Catalog\Controller\Product\View" type="Prince\Helloworld\Controller\Rewrite\Product\View" />
2) Tạo View.php trong thư mụcPrince/Helloworld/Controller/Rewrite/Product
class View extends \Magento\Catalog\Controller\Product\View
{
public function execute()
{
// Do your stuff here
return parent::execute();
}
}
Bạn có thể ghi đè khối, mô hình và bộ điều khiển khác bằng cách sử dụng tương tự.