|
4 | 4 | * See COPYING.txt for license details.
|
5 | 5 | */
|
6 | 6 | ?>
|
7 |
| -<?php |
8 |
| -/** @var $block \Magento\Swatches\Block\Product\Renderer\Listing\Configurable */ |
9 |
| -$productId = $block->getProduct()->getId(); |
10 |
| -/** @var \Magento\Swatches\ViewModel\Product\Renderer\Configurable $configurableViewModel */ |
11 |
| -$configurableViewModel = $block->getConfigurableViewModel() |
12 |
| -?> |
13 |
| -<div class="swatch-opt-<?= $block->escapeHtmlAttr($productId) ?>" |
14 |
| - data-role="swatch-option-<?= $block->escapeHtmlAttr($productId) ?>"></div> |
| 7 | +<?php /** @var $block \Magento\Swatches\Block\Product\Renderer\Listing\Configurable */ ?> |
| 8 | +<?php $product = $block->getProduct() ?> |
| 9 | +<?php if ($product && $product->isAvailable()) : ?> |
| 10 | + <?php $productId = $product->getId() ?> |
| 11 | + <?php /** @var \Magento\Swatches\ViewModel\Product\Renderer\Configurable $configurableViewModel */ ?> |
| 12 | + <?php $configurableViewModel = $block->getConfigurableViewModel() ?> |
| 13 | + <div class="swatch-opt-<?= $block->escapeHtmlAttr($productId) ?>" |
| 14 | + data-role="swatch-option-<?= $block->escapeHtmlAttr($productId) ?>"></div> |
15 | 15 |
|
16 |
| -<script type="text/x-magento-init"> |
17 |
| - { |
18 |
| - "[data-role=swatch-option-<?= $block->escapeJs($productId) ?>]": { |
19 |
| - "Magento_Swatches/js/swatch-renderer": { |
20 |
| - "selectorProduct": ".product-item-details", |
21 |
| - "onlySwatches": true, |
22 |
| - "enableControlLabel": false, |
23 |
| - "numberToShow": <?= $block->escapeJs($block->getNumberSwatchesPerProduct()) ?>, |
24 |
| - "jsonConfig": <?= /* @noEscape */ $block->getJsonConfig() ?>, |
25 |
| - "jsonSwatchConfig": <?= /* @noEscape */ $block->getJsonSwatchConfig() ?>, |
26 |
| - "mediaCallback": "<?= $block->escapeJs($block->escapeUrl($block->getMediaCallback())) ?>", |
27 |
| - "jsonSwatchImageSizeConfig": <?= /* @noEscape */ $block->getJsonSwatchSizeConfig() ?>, |
28 |
| - "showTooltip": <?= $block->escapeJs($configurableViewModel->getShowSwatchTooltip()) ?> |
| 16 | + <script type="text/x-magento-init"> |
| 17 | + { |
| 18 | + "[data-role=swatch-option-<?= $block->escapeJs($productId) ?>]": { |
| 19 | + "Magento_Swatches/js/swatch-renderer": { |
| 20 | + "selectorProduct": ".product-item-details", |
| 21 | + "onlySwatches": true, |
| 22 | + "enableControlLabel": false, |
| 23 | + "numberToShow": <?= $block->escapeJs($block->getNumberSwatchesPerProduct()) ?>, |
| 24 | + "jsonConfig": <?= /* @noEscape */ $block->getJsonConfig() ?>, |
| 25 | + "jsonSwatchConfig": <?= /* @noEscape */ $block->getJsonSwatchConfig() ?>, |
| 26 | + "mediaCallback": "<?= $block->escapeJs($block->escapeUrl($block->getMediaCallback())) ?>", |
| 27 | + "jsonSwatchImageSizeConfig": <?= /* @noEscape */ $block->getJsonSwatchSizeConfig() ?>, |
| 28 | + "showTooltip": <?= $block->escapeJs($configurableViewModel->getShowSwatchTooltip()) ?> |
| 29 | + } |
29 | 30 | }
|
30 | 31 | }
|
31 |
| - } |
32 |
| -</script> |
| 32 | + </script> |
33 | 33 |
|
34 |
| -<script type="text/x-magento-init"> |
35 |
| - { |
36 |
| - "[data-role=priceBox][data-price-box=product-id-<?= $block->escapeJs($productId) ?>]": { |
37 |
| - "priceBox": { |
38 |
| - "priceConfig": { |
39 |
| - "priceFormat": <?= /* @noEscape */ $block->getPriceFormatJson(); ?>, |
40 |
| - "prices": <?= /* @noEscape */ $block->getPricesJson(); ?> |
| 34 | + <script type="text/x-magento-init"> |
| 35 | + { |
| 36 | + "[data-role=priceBox][data-price-box=product-id-<?= $block->escapeJs($productId) ?>]": { |
| 37 | + "priceBox": { |
| 38 | + "priceConfig": { |
| 39 | + "priceFormat": <?= /* @noEscape */ $block->getPriceFormatJson() ?>, |
| 40 | + "prices": <?= /* @noEscape */ $block->getPricesJson() ?> |
| 41 | + } |
41 | 42 | }
|
42 | 43 | }
|
43 | 44 | }
|
44 |
| - } |
45 |
| -</script> |
| 45 | + </script> |
| 46 | +<?php endif; ?> |
0 commit comments