Magento usa el archivo llamado view.xml
que se mantiene en el nivel de tema de la aplicación.
Así, por ejemplo, si está utilizando el tema por defecto luma
que debe encontrar el view.xml
bajovendor/magento/theme-frontend-luma/etc/view.xml
En este archivo, verá el <images/>
nodo dentro 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 dimensión de las imágenes se mantiene aquí debajo del <image/>
nodo.
El id
valor de atributo del <image/>
nodo se referencia en la base de código.
Por ejemplo:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
El valor de id se usa en el archivo de vista 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;
Aquí se $image
refiere al valor del tamaño de la imagen aquí:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
En caso de que el tema no tenga un view.xml
, entonces podría estar usando un tema alternativo (tema principal) que tiene el view.xml
archivo.
<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>
Aquí Magento/blank
está el tema principal.
En caso de cambiar / sobrescribir los valores del view.xml
archivo, debe copiar completamente todoview.xml
archivo a su tema personalizado y cambiar los valores.
view.xml
no tiene un sistema de recuperación de valor de nodo, significa que si el valor de un nodo no está presente en sus temas personalizados, view.xml
no lo hará recurrirá al valor view.xml de su tema principal, por eso es necesario copiar todo el archivo.
Una vez que se hayan realizado los cambios de valores, deberá ejecutar
php bin/magento catalog:images:resize
Esto regenerará los nuevos tamaños de imagen.
php bin/magento catalog:images:resize
no es necesaria (cuesta mucho tiempo) , solo necesitamos borrar el caché y luego funcionará.El producto Magento usa el archivo view.xml para las dimensiones del tamaño de la imagen en la ruta proveedor / magento / theme-frontend-luma / etc / view.xml
Aquí encontrará el nodo dentro del nodo.
Copie el archivo view.xml y colóquelo en su ruta de tema y realice los cambios, diga app / design / frontend / MyThemePackage / MyTheme / etc / view.xml
Borre el caché y cargue la página de lista de categorías. Tus cambios se reflejarán.
fuente
También puede especificar las dimensiones de la imagen directamente en un archivo de plantilla como este:
Más muestras aquí: https://nwdthemes.com/2017/12/19/magento-2-product-image-size/
fuente