Skip to content

Commit bbcb7b7

Browse files
author
Oleksandr Gorkun
committed
MC-35049: 2.4.0 Page Builder Failed tests
1 parent 6c990b0 commit bbcb7b7

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

app/code/Magento/Catalog/view/frontend/templates/product/image_with_borders.phtml

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ $enableLazyLoadingWithoutBorders = (bool)$block->getVar(
1818
'enable_lazy_loading_for_images_without_borders',
1919
'Magento_Catalog'
2020
);
21+
$width = (int)$block->getWidth();
22+
$paddingBottom = $block->getRatio() * 100;
2123
?>
22-
<span class="product-image-container" id="product-image-container-<?= /* @noEscape */ $block->getProductId() ?>">
24+
<span class="product-image-container product-image-container-<?= /* @noEscape */ $block->getProductId() ?>">
2325
<span class="product-image-wrapper">
2426
<img class="<?= $escaper->escapeHtmlAttr($block->getClass()) ?>"
2527
<?php foreach ($block->getCustomAttributes() as $name => $value): ?>
@@ -36,11 +38,29 @@ $enableLazyLoadingWithoutBorders = (bool)$block->getVar(
3638
<?php endif; ?>
3739
alt="<?= $escaper->escapeHtmlAttr($block->getLabel()) ?>"/></span>
3840
</span>
39-
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
40-
'width:' . (int)$block->getWidth() . 'px;',
41-
'#product-image-container-' . $block->getProductId()
42-
) ?>
43-
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
44-
'padding-bottom: '. ($block->getRatio() * 100) . '%;',
45-
'#product-image-container-' . $block->getProductId() . ' span.product-image-wrapper'
46-
) ?>
41+
<?php
42+
$styles = <<<STYLE
43+
.product-image-container-{$block->getProductId()} {
44+
width: {$width}px;
45+
}
46+
.product-image-container-{$block->getProductId()} span.product-image-wrapper {
47+
padding-bottom: {$paddingBottom}%;
48+
}
49+
STYLE;
50+
//In case a script was using "style" attributes of these elements
51+
$script = <<<SCRIPT
52+
prodImageContainers = document.querySelectorAll(".product-image-container-{$block->getProductId()}");
53+
for (var i = 0; i < prodImageContainers.length; i++) {
54+
prodImageContainers[i].style.width = "{$width}px";
55+
}
56+
prodImageContainersWrappers = document.querySelectorAll(
57+
".product-image-container-{$block->getProductId()} span.product-image-wrapper"
58+
);
59+
for (var i = 0; i < prodImageContainersWrappers.length; i++) {
60+
prodImageContainersWrappers[i].style.paddingBottom = "{$paddingBottom}%";
61+
}
62+
SCRIPT;
63+
64+
?>
65+
<?= /* @noEscape */ $secureRenderer->renderTag('style', [], $styles, false) ?>
66+
<?= /* @noEscape */ $secureRenderer->renderTag('script', ['type' => 'text/javascript'], $script, false) ?>

0 commit comments

Comments
 (0)