Magento korzysta z pliku o nazwie, view.xmlktóry jest utrzymywany na poziomie kompozycji aplikacji.
Na przykład, jeśli używasz domyślnego motywu luma, powinieneś znaleźć view.xmlponiżejvendor/magento/theme-frontend-luma/etc/view.xml
W tym pliku zobaczysz <images/>węzeł wewnątrz <media>węzła.
<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>
Wymiary obrazów są utrzymywane tutaj pod <image/>węzłem.
Wartość idatrybutu <image/>węzła jest przywoływana w bazie kodu.
Na przykład:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
Wartość identyfikatora jest używana w pliku widoku 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;
Tutaj $imageodnosi się do wartości rozmiaru obrazu tutaj:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
W przypadku gdy motyw nie ma view.xml, może być używany motyw zastępczy (motyw nadrzędny), który zawiera view.xmlplik.
<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>
Oto Magento/blankmotyw nadrzędny.
W przypadku zmiany / zastąpienia wartości view.xmlpliku należy całkowicie skopiować cały view.xmlplik do niestandardowego motywu i zmienić wartości.
view.xmlnie ma systemu rezerwowego wartości węzła, co oznacza, że jeśli w węźle niestandardowym nie ma wartości węzła, nie view.xml nastąpi powrót do wartości view.xml jego motywu nadrzędnego, dlatego należy skopiować cały plik.
Gdy zmiany wartości zostaną wykonane, będziesz musiał uruchomić
php bin/magento catalog:images:resize
Spowoduje to zregenerowanie nowych rozmiarów obrazu.