Php Magento 2-在列表视图中获取产品详细信息,使用插件添加自定义块
我试图使用插件系统来修改列出的每个产品的块 我可以这样设置它: 供应商/Module/etc/frontend/di.xmlPhp Magento 2-在列表视图中获取产品详细信息,使用插件添加自定义块,php,magento,magento2,magento2.1,magento2.2,Php,Magento,Magento2,Magento2.1,Magento2.2,我试图使用插件系统来修改列出的每个产品的块 我可以这样设置它: 供应商/Module/etc/frontend/di.xml 供应商/Module/Plugin/Block/Product/AbstractProduct.php <?php namespace Vendor\Module\Plugin\Block\Product; class AbstractProduct { public function afterGetProductDetailsHtml(
供应商/Module/Plugin/Block/Product/AbstractProduct.php
<?php
namespace Vendor\Module\Plugin\Block\Product;
class AbstractProduct
{
public function afterGetProductDetailsHtml(
\Magento\Catalog\Block\Product\AbstractProduct $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>';
}
}
你需要像这样在插件后的插件instade周围使用
<?php
namespace Vendor\Module\Plugin\Block\Product;
class AbstractProduct
{
public function aroundGetProductDetailsHtml(
\Magento\Catalog\Block\Product\AbstractProduct $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>';
}
}
你试过arround插件吗?因为在那个插件里你可以看到产品的细节。我认为它们都是平等的。。。让我试试,谢谢!好的,试着让我知道。@DhirenVasoya成功了!非常感谢。我发布了答案,请接受它,这样它也会帮助社区中的其他人。
<?php
namespace Vendor\Module\Plugin\Block\Product;
class AbstractProduct
{
public function aroundGetProductDetailsHtml(
\Magento\Catalog\Block\Product\AbstractProduct $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>';
}
}