Magento korzysta z pliku o nazwie, view.xml
który jest utrzymywany na poziomie kompozycji aplikacji.
Na przykład, jeśli używasz domyślnego motywu luma
, powinieneś znaleźć view.xml
poniż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ść id
atrybutu <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 $image
odnosi 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.xml
plik.
<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/blank
motyw nadrzędny.
W przypadku zmiany / zastąpienia wartości view.xml
pliku należy całkowicie skopiować cały view.xml
plik do niestandardowego motywu i zmienić wartości.
view.xml
nie 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.