Je travaille avec la page de catégorie Magento 2.
Mais je ne savais pas comment conserver les proportions de l'image du produit.
Dans magento 1.x, je peux obtenir l'image src pour utiliser le code ci-dessous.
<?php
echo $this->helper('catalog/image')
->init($_product, 'small_image')
->constrainOnly(FALSE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(300);
?>
Mais dans magento 2, je peux définir les tailles d'image dans le fichier /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>
J'ai essayé de saisir la hauteur avec "auto", mais cela n'a pas fonctionné.
J'ai également essayé de ne saisir que la largeur, cela n'a pas fonctionné non plus.
Et j'ai trouvé ci-dessous le code pour afficher les images de produits dans le fichier 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>
Quelqu'un sait-il comment afficher les images du produit avec des proportions d'image Keep?
Vous pouvez définir "Conserver le rapport hauteur / largeur de l'image du produit" dans magento2 comme magento 1.x à l'aide de l'assistant d'image.
Vous pouvez utiliser l'image helper comme celle-ci dans le fichier de liste: app \ code \ Magento \ Catalog \ view \ frontend \ templates \ product \ list.phtml
la source
resize()
fonction?