首页 > 解决方案 > Magento 2 | getImage() 函数在自定义 phtml 文件中不起作用

问题描述

在我的项目中,我试图在我的相关产品.phtml 文件中调用“\Magento\CatalogWidget\Block\Product\ProductsList”块。此文件在产品页面上称为带有 ajax 的 url。该页面被正确调用,但 $block->getImage() 函数失败并返回错误。

这是我在使用 ajax 调用的自定义文件中的代码:

$getSubCateColl = $blockProdCateColl->getCategoryProductsCollection($getCategoryID);
$block = $block->getLayout()->createBlock('\Magento\CatalogWidget\Block\Product\ProductsList');

$image = 'new_products_content_widget_grid';
$items = $blockProdCateColl->getCategoryProducts($getSubCateID);

<?php $countProd = 0; foreach ($items as $_item) : $countProd++; if($countProd <= 6): ?>

<?= $block->getImage($_item, $image)->toHtml(); ?> //THIS RETURN ERROR IN VAR LOG

<?php endif; endforeach ?>

另一方面,这是在 var/log 中返回的错误:

main.CRITICAL: TypeError: Argument 2 passed to Magento\Catalog\Block\Product\ImageFactory::getLabel() must be of the type string, null given, called in /htdocs/html/magento2/vendor/magento/module-catalog/Block/Product/ImageFactory.php on line 168 and defined in /htdocs/html/magento2/vendor/magento/module-catalog/Block/Product/ImageFactory.php:117

如何获取产品集合的图像的 html 块?

标签: phpmagentomagento2

解决方案


推荐阅读