Magento utilizza il file chiamato view.xml
che viene mantenuto a livello di tema dell'applicazione.
Quindi, ad esempio, se stai usando il tema predefinito luma
, dovresti trovare quello view.xml
sottovendor/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 id
valore 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 $image
riferisce 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.xml
file.
<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/blank
il tema principale.
In caso di modifica / sovrascrittura dei valori del view.xml
file, è necessario copiare completamente l'intero view.xml
file sul tema personalizzato e modificare i valori.
view.xml
non 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.