Получить данные изображения в 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); ?>"/>
Другие вопросы по тегам