11<?php
2-
32declare (strict_types=1 );
43
54use CustomGento \Cookiebot \ViewModel \Script ;
@@ -12,8 +11,8 @@ use Magento\Framework\View\Helper\SecureHtmlRenderer;
1211/** @var SecureHtmlRenderer $secureRenderer */
1312/** @var Script $viewModel */
1413$ viewModel = $ block ->getData ('view_model ' );
15- $ consentMessage = __ ( ' Please <a href="javascript:Cookiebot.renew()" class="cookiebot-iframe-consent-link">accept %1 cookies</a> to view this %2 content. ' );
16-
14+ $ consentMessage
15+ = __ ( ' Please <a href="javascript:Cookiebot.renew()" class="cookiebot-iframe-consent-link">accept %1 cookies</a> to view this %2 content. ' );
1716$ scriptString = '
1817 document.addEventListener("DOMContentLoaded", function () {
1918 ((document, selector, consentType) => {
@@ -61,9 +60,29 @@ $scriptString = '
6160 iframe.parentNode.insertBefore(divElement, iframe);
6261 });
6362 })(document, "iframe[data-cookieblock-src]", "marketing");
64- })
65- ' ;
66-
63+
64+ function fixIframeStyle () {
65+ ((document, selector) => {
66+ document.querySelectorAll(selector).forEach(iframe => {
67+ const pageBuilderContainer = iframe.closest(".pagebuilder-video-container");
68+ const pageBuilderColumn = iframe.closest(".pagebuilder-column");
69+ if (!pageBuilderContainer) {
70+ return;
71+ }
72+ if (!Cookiebot?.consent?.marketing) {
73+ pageBuilderContainer.style.paddingTop = "0";
74+ pageBuilderColumn.style.backgroundColor = "#fff";
75+ } else {
76+ pageBuilderContainer.style.paddingTop = "56.25%";
77+ }
78+ });
79+ })(document, "iframe");
80+ }
81+
82+ addEventListener("CookiebotOnConsentReady", function() {
83+ fixIframeStyle()
84+ });
85+ }) ' ;
6786// checking on if SecureHtmlRenderer exists first, because this module is still compatible with Magento 2.3.x which doesn't include this class
6887if (class_exists (SecureHtmlRenderer::class)) {
6988 echo $ secureRenderer ->renderTag ('script ' , ['data-cookieconsent ' => 'ignore ' ], $ scriptString , false );
0 commit comments