Magento utilizza il file chiamato view.xmlche viene mantenuto a livello di tema dell'applicazione.
Quindi, ad esempio, se stai usando il tema predefinito luma, dovresti trovare quello view.xmlsottovendor/magento/theme-frontend-luma/etc/view.xml
In questo file, vedresti il <images/>nodo all'interno del <media>nodo.
<view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/view.xsd">
<media>
<images module="Magento_Catalog">
<image id="bundled_product_customization_page" type="thumbnail">
<width>140</width>
<height>140</height>
</image>
<image id="cart_cross_sell_products" type="thumbnail">
<width>200</width>
<height>248</height>
</image>
<image id="cart_page_product_thumbnail" type="small_image">
<width>165</width>
<height>165</height>
</image>
........
</images>
</media>
......
</view>
La dimensione delle immagini è mantenuta qui sotto il <image/>nodo.
Il idvalore dell'attributo del <image/>nodo è indicato nella base di codice.
Per esempio:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
Il valore ID viene utilizzato nel file di visualizzazione vendor/magento/module-catalog/view/frontend/templates/product/list/items.phtml
case 'related':
/** @var \Magento\Catalog\Block\Product\ProductList\Related $block */
if ($exist = $block->getItems()->getSize()) {
$type = 'related';
$class = $type;
$image = 'related_products_list';
$title = __('Related Products');
$items = $block->getItems();
$limit = 0;
$shuffle = 0;
$canItemsAddToCart = $block->canItemsAddToCart();
$showWishlist = true;
$showCompare = true;
$showCart = false;
$templateType = null;
$description = false;
}
break;
Qui il si $imageriferisce al valore della dimensione dell'immagine qui:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
Nel caso in cui il tema non abbia un view.xml, quindi potrebbe utilizzare un tema di fallback (tema principale) che ha il view.xmlfile.
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Magento Luma</title>
<parent>Magento/blank</parent>
.....
</theme>
Ecco Magento/blankil tema principale.
In caso di modifica / sovrascrittura dei valori del view.xmlfile, è necessario copiare completamente l'intero view.xmlfile sul tema personalizzato e modificare i valori.
view.xmlnon ha un sistema di fallback del valore del nodo, significa che se un valore di un nodo non è presente nel tema personalizzato view.xml , non ricadrà sul valore view.xml del tema principale, ecco perché è necessario copiare l'intero file.
Una volta apportate le modifiche ai valori, dovrai eseguirlo
php bin/magento catalog:images:resize
Questo rigenererà le nuove dimensioni dell'immagine.