|
4 | 4 | * See COPYING.txt for license details.
|
5 | 5 | */
|
6 | 6 |
|
7 |
| -/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */ |
| 7 | +use Magento\Framework\Escaper; |
| 8 | +use Magento\Framework\View\Helper\SecureHtmlRenderer; |
| 9 | + |
| 10 | +/** |
| 11 | + * @var SecureHtmlRenderer $secureRenderer |
| 12 | + * @var Escaper $escaper |
| 13 | + */ |
8 | 14 | ?>
|
9 |
| -<!-- <?php if ($block->getTitle()): ?> |
10 |
| - <h3><?= $block->escapeHtml($block->getTitle()) ?></h3> |
11 |
| -<?php endif ?> --> |
12 | 15 | <?php if (!empty($tabs)): ?>
|
13 |
| -<div id="<?= $block->escapeHtmlAttr($block->getId()) ?>"> |
| 16 | + <?php $blockId = $block->getId() ?> |
| 17 | +<div id="<?= $escaper->escapeHtmlAttr($blockId) ?>" class="hidden"> |
14 | 18 | <ul class="tabs-horiz">
|
15 | 19 | <?php foreach ($tabs as $_tab): ?>
|
| 20 | + <?php $tabId = $block->getTabId($_tab) ?> |
16 | 21 | <?php $_tabClass = 'tab-item-link ' . $block->getTabClass($_tab) . ' ' .
|
17 | 22 | (preg_match('/\s?ajax\s?/', $_tab->getClass()) ? 'notloaded' : '') ?>
|
18 | 23 | <?php $_tabType = (!preg_match('/\s?ajax\s?/', $_tabClass) && $block->getTabUrl($_tab) != '#') ? 'link' : '' ?>
|
19 | 24 | <?php $_tabHref = $block->getTabUrl($_tab) == '#' ?
|
20 |
| - '#' . $block->getTabId($_tab) . '_content' : |
| 25 | + '#' . $tabId . '_content' : |
21 | 26 | $block->getTabUrl($_tab) ?>
|
22 | 27 | <li>
|
23 |
| - <a href="<?= $block->escapeUrl($_tabHref) ?>" |
24 |
| - id="<?= $block->escapeHtmlAttr($block->getTabId($_tab)) ?>" |
25 |
| - title="<?= $block->escapeHtmlAttr($block->getTabTitle($_tab)) ?>" |
26 |
| - class="<?= $block->escapeHtmlAttr($_tabClass) ?>" |
27 |
| - data-tab-type="<?= $block->escapeHtmlAttr($_tabType) ?>"> |
| 28 | + <a href="<?= $escaper->escapeUrl($_tabHref) ?>" |
| 29 | + id="<?= $escaper->escapeHtmlAttr($tabId) ?>" |
| 30 | + title="<?= $escaper->escapeHtmlAttr($block->getTabTitle($_tab)) ?>" |
| 31 | + class="<?= $escaper->escapeHtmlAttr($_tabClass) ?>" |
| 32 | + data-tab-type="<?= $escaper->escapeHtmlAttr($_tabType) ?>"> |
28 | 33 | <span>
|
29 | 34 | <span class="changed"
|
30 |
| - title="<?= $block->escapeHtmlAttr(__('The information in this tab has been changed.')) ?>"></span> |
| 35 | + title="<?= $escaper->escapeHtmlAttr(__( |
| 36 | + 'The information in this tab has been changed.' |
| 37 | + )) ?>"></span> |
31 | 38 | <span class="error"
|
32 |
| - title="<?= $block->escapeHtmlAttr(__( |
| 39 | + title="<?= $escaper->escapeHtmlAttr(__( |
33 | 40 | 'This tab contains invalid data. Please resolve this before saving.'
|
34 | 41 | )) ?>"></span>
|
35 | 42 | <span class="loader"
|
36 |
| - title="<?= $block->escapeHtmlAttr(__('Loading...')) ?>"></span> |
37 |
| - <?= $block->escapeHtml($block->getTabLabel($_tab)) ?> |
| 43 | + title="<?= $escaper->escapeHtmlAttr(__('Loading...')) ?>"></span> |
| 44 | + <?= $escaper->escapeHtml($block->getTabLabel($_tab)) ?> |
38 | 45 | </span>
|
39 | 46 | </a>
|
40 |
| - <div id="<?= $block->escapeHtmlAttr($block->getTabId($_tab)) ?>_content"> |
| 47 | + <div id="<?= $escaper->escapeHtmlAttr($tabId) ?>_content"> |
41 | 48 | <?= /* @noEscape */ $block->getTabContent($_tab) ?>
|
42 | 49 | </div>
|
43 | 50 | <?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
|
44 | 51 | 'display:none',
|
45 |
| - '#' . $block->escapeJs($block->getTabId($_tab)) . '_content' |
| 52 | + '#' . $escaper->escapeJs($tabId) . '_content' |
46 | 53 | ); ?>
|
47 | 54 | </li>
|
48 | 55 | <?php endforeach; ?>
|
|
51 | 58 | <?php $scriptString = <<<script
|
52 | 59 | require(["jquery","mage/backend/tabs"], function($){
|
53 | 60 | $(function() {
|
54 |
| - $('#{$block->getId()}').tabs({ |
55 |
| - active: '{$block->getActiveTabId()}', |
56 |
| - destination: '#{$block->getDestElementId()}', |
| 61 | + $('#{$escaper->escapeJs($blockId)}').tabs({ |
| 62 | + active: '{$escaper->escapeJs($block->getActiveTabId())}', |
| 63 | + destination: '#{$escaper->escapeJs($block->getDestElementId())}', |
57 | 64 | shadowTabs: {$block->getAllShadowTabs()}
|
58 | 65 | });
|
| 66 | + $('#{$escaper->escapeJs($blockId)}').removeClass('hidden'); |
59 | 67 | });
|
60 | 68 | });
|
61 | 69 | script;
|
|
0 commit comments