File tree Expand file tree Collapse file tree 5 files changed +25
-6
lines changed
view/frontend/templates/product Expand file tree Collapse file tree 5 files changed +25
-6
lines changed Original file line number Diff line number Diff line change 8
8
<view xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" xsi : noNamespaceSchemaLocation =" urn:magento:framework:Config/etc/view.xsd" >
9
9
<vars module =" Magento_Catalog" >
10
10
<var name =" product_image_white_borders" >1</var >
11
+ <!-- Variable to enable lazy loading for catalog product images without borders.
12
+ If you enable this setting your small size images without borders may be stretched in template.
13
+ So be sure you have correct image sizes. -->
14
+ <var name =" enable_lazy_loading_for_images_without_borders" >0</var >
11
15
</vars >
12
16
</view >
Original file line number Diff line number Diff line change 8
8
/** @var $block \Magento\Catalog\Block\Product\Image */
9
9
/** @var $escaper \Magento\Framework\Escaper */
10
10
?>
11
-
11
+ <!--deprecated template as image_with_borders is a primary one-->
12
12
<img class="photo image <?= $ escaper ->escapeHtmlAttr ($ block ->getClass ()) ?> "
13
13
<?php foreach ($ block ->getCustomAttributes () as $ name => $ value ): ?>
14
14
<?= $ escaper ->escapeHtmlAttr ($ name ) ?> ="<?= $ escaper ->escapeHtmlAttr ($ value ) ?> "
Original file line number Diff line number Diff line change 7
7
<?php
8
8
/** @var $block \Magento\Catalog\Block\Product\Image */
9
9
/** @var $escaper \Magento\Framework\Escaper */
10
+ /**
11
+ * Enable lazy loading for images with borders and if variable enable_lazy_loading_for_images_without_borders
12
+ * is enabled in view.xml. Otherwise small size images without borders may be distorted. So max-width is used for them
13
+ * to prevent stretching and lazy loading does not work.
14
+ */
15
+ $ borders = (bool )$ block ->getVar ('product_image_white_borders ' , 'Magento_Catalog ' );
16
+ $ enableLazyLoadingWithoutBorders = (bool )$ block ->getVar (
17
+ 'enable_lazy_loading_for_images_without_borders ' ,
18
+ 'Magento_Catalog '
19
+ );
10
20
?>
11
21
12
22
<span class="product-image-container"
19
29
<?php endforeach ; ?>
20
30
src="<?= $ escaper ->escapeUrl ($ block ->getImageUrl ()) ?> "
21
31
loading="lazy"
22
- width="<?= $ escaper ->escapeHtmlAttr ($ block ->getWidth ()) ?> "
23
- height="<?= $ escaper ->escapeHtmlAttr ($ block ->getHeight ()) ?> "
32
+ <?php if ($ borders || $ enableLazyLoadingWithoutBorders ): ?>
33
+ width="<?= $ escaper ->escapeHtmlAttr ($ block ->getWidth ()) ?> "
34
+ height="<?= $ escaper ->escapeHtmlAttr ($ block ->getHeight ()) ?> "
35
+ <?php else : ?>
36
+ max-width="<?= $ escaper ->escapeHtmlAttr ($ block ->getWidth ()) ?> "
37
+ max-height="<?= $ escaper ->escapeHtmlAttr ($ block ->getHeight ()) ?> "
38
+ <?php endif ; ?>
24
39
alt="<?= $ escaper ->escapeHtmlAttr ($ block ->getLabel ()) ?> "/></span>
25
40
</span>
Original file line number Diff line number Diff line change 9
9
<system >
10
10
<section id =" dev" translate =" label" type =" text" sortOrder =" 920" showInDefault =" 1" showInWebsite =" 1" showInStore =" 1" >
11
11
<group id =" js" >
12
- <field id =" move_script_to_bottom" translate =" label" type =" select" sortOrder =" 25" showInDefault =" 1" showInWebsite =" 1 " showInStore =" 1 " canRestore =" 1" >
12
+ <field id =" move_script_to_bottom" translate =" label" type =" select" sortOrder =" 25" showInDefault =" 1" showInWebsite =" 0 " showInStore =" 0 " canRestore =" 1" >
13
13
<label >Move JS code to the bottom of the page</label >
14
14
<source_model >Magento\Config\Model\Config\Source\Yesno</source_model >
15
15
</field >
16
16
</group >
17
17
<group id =" css" >
18
- <field id =" use_css_critical_path" translate =" label comment" type =" select" sortOrder =" 30" showInDefault =" 1" showInWebsite =" 1 " showInStore =" 1 " canRestore =" 1" >
18
+ <field id =" use_css_critical_path" translate =" label comment" type =" select" sortOrder =" 30" showInDefault =" 1" showInWebsite =" 0 " showInStore =" 0 " canRestore =" 1" >
19
19
<label >Use CSS critical path</label >
20
20
<source_model >Magento\Config\Model\Config\Source\Yesno</source_model >
21
21
<comment >
Original file line number Diff line number Diff line change 12
12
13
13
<style type="text/css" data-type="criticalCss">
14
14
<?= /* @noEscape */ $ criticalCssViewModel ->getCriticalCssData () ?>
15
- </style>
15
+ </style>
You can’t perform that action at this time.
0 commit comments