Получить данные изображения в Magento 2
Следующий код дает мне полный HTML-код вокруг изображения.
<?php
$productImage = $block->getImage($_product, $image);
echo $productImage->toHtml();
?>
Я хотел бы знать, как собирать данные изображений для изображений в Magento 2, чтобы я мог использовать HTML, как я хочу.
Следующий код дает мне URL оригинального изображения. Но я хочу маленькое изображение.
$block->getUrl().'pub/media/catalog/product' . $_product->getImage()
Это то, что я хочу:
/Magento_Catalog/templates/product/list.php
<?php
$_productCollection = $block->getLoadedProductCollection();
foreach ($_productCollection as $_product){
// Get front image in small size for category view
$get_main_image_url = '';
$get_main_image_width = '';
$get_main_image_height = '';
$get_main_image_alt = '';
echo '<img src="' . $get_main_image_url . '" width="' . $get_main_image_width . '" height="' . $get_main_image_height . '"' . ' alt="' . $get_main_image_alt . '">';
// Get back image in small size for category view
$get_back_image_url = '';
$get_back_image_width = '';
$get_back_image_height = '';
$get_back_image_alt = '';
echo '<img src="' . $get_back_image_url . '" width="' . $get_back_image_width . '" height="' . $get_back_image_height . '"' . ' alt="' . $get_back_image_alt . '">';
}
?>
1 ответ
В итоге я переопределил файл изображения PHTML, сохранив файл здесь:
[your_magento_installation] / приложение / дизайн / интерфейс /[your_vendor]/[your_theme]/Magento_Catalog/templates/product/image_with_borders.phtml
Вы можете скопировать содержимое файла image.phtml или image_with_borders.phtml. Вот как выглядит мой файл:
<?php /** @var $block \Magento\Catalog\Block\Product\Image */ ?>
<img
<?php /* @escapeNotVerified */ echo $block->getCustomAttributes(); ?>
src="<?php /* @escapeNotVerified */ echo $block->getImageUrl(); ?>"
width="<?php /* @escapeNotVerified */ echo $block->getResizedImageWidth(); ?>"
height="<?php /* @escapeNotVerified */ echo $block->getResizedImageHeight(); ?>"
alt="<?php /* @escapeNotVerified */ echo $block->stripTags($block->getLabel(), null, true); ?>"/>