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/>
โหนดถูกอ้างถึงใน codebase
ตัวอย่างเช่น:
<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
สิ่งนี้จะสร้างขนาดภาพใหม่