Magento usa o arquivo chamado view.xml
que é mantido no nível do tema do aplicativo.
Por exemplo, se você estiver usando o tema padrão, luma
deverá encontrar o view.xml
itemvendor/magento/theme-frontend-luma/etc/view.xml
Nesse arquivo, você veria o <images/>
nó dentro do <media>
nó.
<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>
A dimensão das imagens é mantida aqui sob o <image/>
nó.
O id
valor do atributo do <image/>
nó é referenciado na base de código.
Por exemplo:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
O valor do ID é usado no arquivo de visualização 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;
Aqui o $image
refere-se ao valor do tamanho da imagem aqui:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
Caso o tema não possua um view.xml
, pode estar usando um tema de fallback (tema pai) que possui o view.xml
arquivo.
<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>
Aqui Magento/blank
está o tema principal.
No caso de alterar / substituir os valores do view.xml
arquivo, você precisa copiar completamente o view.xml
arquivo inteiro para o seu tema personalizado e alterar os valores.
view.xml
não possui um sistema de fallback de valor de nó, significa que, se um valor de um nó não estiver presente nos seus temas personalizados, view.xml
ele não retornará ao valor view.xml do tema pai, é por isso que o arquivo inteiro precisa ser copiado.
Depois que as alterações nos valores forem feitas, você terá que executar
php bin/magento catalog:images:resize
Isso regenerará os novos tamanhos de imagem.
php bin/magento catalog:images:resize
não precisa (custa muito tempo) , basta limpar o cache e ele funcionará.O produto Magento usa o arquivo view.xml para dimensões de tamanho de imagem no caminho vendor / magento / theme-frontend-luma / etc / view.xml
Aqui você encontrará um nó dentro do nó.
Copie o arquivo view.xml e coloque-o no caminho do tema e faça as alterações, digamos app / design / frontend / MyThemePackage / MyTheme / etc / view.xml
Limpe o cache e carregue a página da lista de categorias. Suas alterações serão refletidas.
fonte
Você também pode especificar as dimensões da imagem diretamente no arquivo de modelo como este:
Mais amostras aqui - https://nwdthemes.com/2017/12/19/magento-2-product-image-size/
fonte