Estou trabalhando com a página de categoria Magento 2.
Mas não sabia como manter as proporções da imagem do produto.
No magento 1.x, posso obter a imagem src para usar o código abaixo.
<?php
echo $this->helper('catalog/image')
->init($_product, 'small_image')
->constrainOnly(FALSE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(300);
?>
Mas no magento 2, eu posso definir os tamanhos das imagens no arquivo /app/design/frontend/Magento/luma/etc/view.xml.
<image id="category_page_grid" type="small_image">
<width>240</width>
<height>300</height>
</image>
<image id="category_page_list" type="small_image">
<width>240</width>
<height>300</height>
</image>
Tentei inserir a altura com "auto", mas não funcionou.
Também tentei inserir apenas largura, mas também não funcionou.
E encontrei abaixo o código para mostrar imagens de produtos no arquivo Magento_Catalog / templates / product / list.phtml.
<?php
$productImage = $block->getImage($_product, $image);
?>
<a href="<?php echo $_product->getProductUrl() ?>" class="product photo product-item-photo" tabindex="-1">
<?php echo $productImage->toHtml(); ?>
</a>
Alguém sabe como mostrar as imagens do produto com manter as proporções da imagem?
Você pode definir "Manter a proporção da imagem do produto" no magento2 como no magento 1.x usando o auxiliar de imagem.
Você pode usar o auxiliar de imagem como este no arquivo de lista: app \ code \ Magento \ Catalog \ view \ frontend \ templates \ product \ list.phtml
fonte
resize()
função?