Magento verwendet die aufgerufene Datei, view.xml
die auf der Themenebene der Anwendung verwaltet wird.
Wenn Sie beispielsweise das Standarddesign verwenden luma
, sollten Sie das view.xml
unter findenvendor/magento/theme-frontend-luma/etc/view.xml
In dieser Datei würden Sie <images/>
Knoten innerhalb des <media>
Knotens sehen.
<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>
Die Dimension der Bilder wird hier unter dem <image/>
Knoten beibehalten .
Der id
Attributwert des <image/>
Knotens wird in der Codebasis referenziert.
Beispielsweise:
<image id="related_products_list" type="small_image">
<width>152</width>
<height>190</height>
</image>
Der ID-Wert wird in der Ansichtsdatei verwendet 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;
Hier $image
bezieht sich das auf den Wert der Bildgröße hier:
<?php echo $block->getImage($_item, $image)->toHtml(); ?>
Falls das Design kein hat view.xml
, könnte es ein Fallback-Design (übergeordnetes Design) verwenden, das die view.xml
Datei enthält.
<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>
Hier Magento/blank
ist das übergeordnete Thema.
Wenn Sie die Werte der view.xml
Datei ändern oder überschreiben möchten, müssen Sie die gesamte view.xml
Datei vollständig in Ihr benutzerdefiniertes Design kopieren und die Werte ändern.
view.xml
Es gibt kein Fallback-System für Knotenwerte. Wenn ein Wert eines Knotens in Ihrem benutzerdefinierten Design nicht vorhanden ist view.xml
, wird er nicht auf den view.xml-Wert des übergeordneten Designs zurückgesetzt. Aus diesem Grund muss die gesamte Datei kopiert werden.
Sobald die Wertänderungen vorgenommen wurden, müssen Sie ausführen
php bin/magento catalog:images:resize
Dadurch werden die neuen Bildgrößen neu generiert.
php bin/magento catalog:images:resize
nicht benötigt wird (er kostet viel Zeit) . Wir müssen nur den Cache leeren und dann wird er funktionieren.Das Magento-Produkt verwendet die Datei view.xml für die Abmessungen der Bilder unter dem Pfad vendor / magento / theme-frontend-luma / etc / view.xml
Hier finden Sie Knoten innerhalb des Knotens.
Kopieren Sie die Datei view.xml, fügen Sie sie in Ihren Themenpfad ein und nehmen Sie die Änderungen vor, z. B. app / design / frontend / MyThemePackage / MyTheme / etc / view.xml
Leeren Sie den Cache und laden Sie die Kategorielistenseite. Ihre Änderungen werden übernommen.
quelle
Sie können die Bildabmessungen auch direkt in der Vorlagendatei wie folgt angeben:
Weitere Beispiele hier - https://nwdthemes.com/2017/12/19/magento-2-product-image-size/
quelle