Magento 2-在列表视图中获取产品详细信息,使用插件添加自定义块



我试图使用插件系统修改列出的每个产品的块。

我能够以这种方式进行设置:

供应商/模块/etc/frontend/di.xml

<type name="MagentoCatalogBlockProductAbstractProduct">
    <plugin name="vendor.module.category.products.list" type="VendorModulePluginBlockProductAbstractProduct" />
</type>

供应商/模块/插件/block/product/abstractproduct.php

<?php
namespace VendorModulePluginBlockProduct;
class AbstractProduct
{
    public function afterGetProductDetailsHtml(
        MagentoCatalogBlockProductAbstractProduct $subject,
        $result
    ) {
         // Here is where I want to pull product details like SKU
         // I also want to pull my custom helper method here
         return '<b>rendered additional html element</b>';
    }
}  

问题是我无法在afterGetProductDetailsHtml中提取产品详细信息。有人知道该怎么做吗?预先感谢

您需要使用这样的插件的Instade instade,

<?php
namespace VendorModulePluginBlockProduct;
class AbstractProduct
{
    public function aroundGetProductDetailsHtml(
        MagentoCatalogBlockProductAbstractProduct $subject,
        callable $proceed)
    ) {
         // Here is where I want to pull product details like SKU
         // I also want to pull my custom helper method here
         return '<b>rendered additional html element</b>';
    }
}  

最新更新