Magento использует файл с именем, view.xml
который поддерживается на уровне темы приложения.
Так, например, если вы используете тему по умолчанию, luma
вы должны найти view.xml
подvendor/magento/theme-frontend-luma/etc/view.xml
В этом файле вы увидите <images/>
узел внутри <media>
узла.
<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>
Размер изображений поддерживается здесь под <image/>
узлом.
Значение id
атрибута <image/>
узла указано в кодовой базе.
Например:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
Значение id используется в файле представления 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;
Здесь $image
относится к значению размера изображения здесь:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
В случае, если тема не имеет view.xml
, то это может быть резервная тема (родительская тема), которая имеет view.xml
файл.
<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>
Вот Magento/blank
родительская тема.
В случае изменения / перезаписи значений view.xml
файла вам необходимо полностью скопировать весь view.xml
файл в свою пользовательскую тему и изменить значения.
view.xml
не имеет системы возврата значения узла, означает, что если значение узла не присутствует в вашей пользовательской теме, view.xml
оно не будет возвращено к значению view.xml родительской темы, поэтому необходимо скопировать весь файл.
После внесения изменений в значения вам нужно будет запустить
php bin/magento catalog:images:resize
Это восстановит новые размеры изображения.
php bin/magento catalog:images:resize
не нужен (он стоит много времени) , нам просто нужно очистить кеш, и тогда он будет работать.Продукт Magento использует файл view.xml для измерения размера изображения в каталоге vendor / magento / theme-frontend-luma / etc / view.xml
Здесь вы найдете узел внутри узла.
Скопируйте файл view.xml и поместите его в путь к своей теме и внесите изменения, например, app / design / frontend / MyThemePackage / MyTheme / etc / view.xml
Очистите кеш и загрузите страницу со списком категорий. Ваши изменения будут отражены.
источник
Вы также можете указать размеры изображения непосредственно в файле шаблона следующим образом:
Больше образцов здесь - https://nwdthemes.com/2017/12/19/magento-2-product-image-size/
источник