|
6 | 6 | */
|
7 | 7 |
|
8 | 8 | /** @var $block MagePal\GoogleTagManager\Block\DataLayer **/
|
| 9 | +/** @var $secureRenderer \Magento\Framework\View\Helper\SecureHtmlRenderer */ |
9 | 10 | $dataLayerName = $block->getDataLayerName();
|
10 | 11 | $accountId = $block->getAccountId();
|
11 |
| -$containerCode = $block->getEmbeddedCode(); |
| 12 | +$containerCode = $block->getEmbeddedCode() ? "+'{$block->getEmbeddedCode()}'" : ''; |
12 | 13 | ?>
|
13 | 14 |
|
14 | 15 | <!-- Google Tag Manager by MagePal -->
|
15 |
| -<script type="text/javascript"> |
16 |
| - window.<?= /* @noEscape */ $dataLayerName ?> = window.<?= /* @noEscape */ $dataLayerName ?> || []; |
| 16 | +<?php $scriptString = <<<script |
| 17 | +window.{$dataLayerName} = window.{$dataLayerName} || []; |
| 18 | +script; |
| 19 | +?> |
| 20 | +<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?> |
17 | 21 |
|
18 | 22 | <?php if (!$block->isGdprEnabled() && $block->addJsInHead() && !$block->isAdvancedSettingsEnabled()): ?>
|
19 |
| - <?= /* @noEscape */ $block->getDataLayerJs() ?> |
| 23 | + <?php $scriptString = <<<script |
20 | 24 | (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
21 | 25 | new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
22 |
| - j=d.createElement(s),dl=l!='<?= /* @noEscape */ $dataLayerName ?>'?'&l='+l:'';j.async=true;j.src= |
23 |
| - 'https://www.googletagmanager.com/gtm.js?id='+i+dl<?= /* @noEscape */ $containerCode ? "+'{$containerCode}'" : '' ?>;f.parentNode.insertBefore(j,f); |
24 |
| - })(window,document,'script','<?= /* @noEscape */ $dataLayerName ?>','<?= /* @noEscape */ $accountId ?>'); |
| 26 | + j=d.createElement(s),dl=l!='{$dataLayerName}'?'&l='+l:'';j.async=true;j.src= |
| 27 | + 'https://www.googletagmanager.com/gtm.js?id='+i+dl{$containerCode};f.parentNode.insertBefore(j,f); |
| 28 | + })(window,document,'script','{$dataLayerName}','{$accountId}'); |
| 29 | + script; |
| 30 | + ?> |
| 31 | + <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?> |
| 32 | + <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $block->getDataLayerJs(), false) ?> |
25 | 33 | <?php endif; ?>
|
26 |
| -</script> |
27 | 34 |
|
28 | 35 | <?php if ($block->isAdvancedSettingsEnabled()): ?>
|
29 |
| -<script type="text/javascript"> |
30 |
| - <?= /* @noEscape */ $block->getDataLayerJs() ?> |
31 |
| -</script> |
32 |
| - <?= /* @noEscape */ $block->getAdvancedSettingsJsCode() ?> |
| 36 | + <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $block->getAdvancedSettingsJsCode(), false) ?> |
| 37 | + <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $block->getDataLayerJs(), false) ?> |
33 | 38 | <?php endif; ?>
|
34 | 39 |
|
35 | 40 | <?php if (($block->isGdprEnabled() || !$block->addJsInHead()) && !$block->isAdvancedSettingsEnabled()) : ?>
|
|
0 commit comments