如果创建新模块来覆盖此块,则可以执行以下操作: vendor\magento\module-catalog\Block\Product\ListProduct.php
重写此块,您需要创建di.xml
在app\code\Vendor\Module_Name\etc
di.xml
内容:
<?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="Vendor\Module_Name\Block\Product\ListProduct" />
</config>
创建新的文件名ListProduct.php
,在app\code\Vendor\Module_Name\Block\Product
ListProduct.php
内容:
namespace Vendor\Module_Name\Block\Product;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
{
public function getProductDetailsHtml(\Magento\Catalog\Model\Product $product)
{
$html = $this->getLayout()->createBlock('Magento\Framework\View\Element\Template')->setProduct($product)->setTemplate('Vendor_ModuleName::test.phtml')->toHtml();
$renderer = $this->getDetailsRenderer($product->getTypeId());
if ($renderer) {
$renderer->setProduct($product);
return $html.$renderer->toHtml();
}
return '';
}
}
您可以将区块更改Magento\Framework\View\Element\Template
为区块
在以下位置创建test.phtml
文件app\code\Vendor\Module_Name\view\frontend\templates