Magento 2のカテゴリページを使用しています。
しかし、製品の画像のアスペクト比を維持する方法がわかりませんでした。
magento 1.xでは、以下のコードで使用するイメージsrcを取得できます。
<?php
echo $this->helper('catalog/image')
->init($_product, 'small_image')
->constrainOnly(FALSE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(300);
?>
しかし、magento 2では、/ 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>
「auto」で高さを入力しようとしたのですがうまくいきませんでした。
また、幅だけを入力しようとしてもうまくいきませんでした。
そして、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>
画像の縦横比を維持したまま商品の画像を表示する方法を知っている人はいますか?