Skip to content

Commit 733c634

Browse files
committed
changed logic of boot secuence and begin checkout
1 parent 6321fd9 commit 733c634

3 files changed

Lines changed: 20 additions & 21 deletions

File tree

MageWire/Checkout.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@
1010

1111
class Checkout extends Component
1212
{
13-
protected $listeners = [
14-
'shipping_method_selected' => 'triggerShippingMethod',
15-
'payment_method_selected' => 'triggerPaymentMethod',
16-
];
1713
private CheckoutSession $checkoutSession;
1814
private BeginCheckout $beginCheckout;
1915
private AddShippingInfo $addShippingInfo;
@@ -31,6 +27,17 @@ public function __construct(
3127
$this->addPaymentInfo = $addPaymentInfo;
3228
}
3329

30+
public function boot(): void
31+
{
32+
$parent = get_parent_class($this);
33+
if ($parent && method_exists($parent, 'boot')) {
34+
parent::boot();
35+
}
36+
37+
$this->listeners['shipping_method_selected'] = 'triggerShippingMethod';
38+
$this->listeners['payment_method_selected'] = 'triggerPaymentMethod';
39+
}
40+
3441
public function triggerBeginCheckout()
3542
{
3643
$this->dispatchBrowserEvent('ga:trigger-event', $this->beginCheckout->get());

view/frontend/layout/hyva_checkout_index_index.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version="1.0"?>
22
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
33
<body>
4-
<referenceContainer name="Tagging_GTM.data-layer.container">
4+
<referenceContainer name="main">
55
<block name="yireo_googletagmanager2.hyva_checkout.data-layer.component"
66
template="Tagging_GTM::hyva_checkout/data-layer.phtml"
77
ifconfig="GTM/settings/enabled"
8-
after="Tagging_GTM.data-layer">
8+
after="Tagging_GTM.pusher-script">
99
<arguments>
1010
<argument name="magewire" xsi:type="object">Tagging\GTM\MageWire\Checkout</argument>
1111
<argument name="begin_checkout_event" xsi:type="object">Tagging\GTM\DataLayer\Event\BeginCheckout</argument>

view/frontend/templates/hyva_checkout/data-layer.phtml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,18 @@ if (false === $magewire->isHyvaCheckoutEnabled()) {
1414
}
1515

1616
$beginCheckoutEvent = $block->getData('begin_checkout_event');
17+
$beginCheckoutPayload = $beginCheckoutEvent->get();
1718
?>
18-
<div>
19+
<div class="hidden">
1920
<script>
20-
function initYireoGoogleTagManagerInHyvaCheckout() {
21+
(function () {
2122
"use strict";
2223

23-
function triggerEvent(event) {
24+
window.addEventListener('ga:trigger-event', function (event) {
2425
googleTagManager2Pusher(event.detail, 'Hyva Checkout');
25-
}
26+
}, {passive: true});
2627

27-
triggerEvent(new CustomEvent('ga:trigger-event', {detail: <?= json_encode($beginCheckoutEvent->get()) ?>}));
28-
29-
return {
30-
triggerEvent
31-
}
32-
}
28+
googleTagManager2Pusher(<?= /* @noEscape */ json_encode($beginCheckoutPayload) ?>, 'Hyva Checkout');
29+
})();
3330
</script><?php if (isset($hyvaCsp) && $hyvaCsp): ?><?php $hyvaCsp->registerInlineScript() ?><?php endif; ?>
34-
<div id="ga-trigger"
35-
x-data="initYireoGoogleTagManagerInHyvaCheckout()"
36-
class="hidden"
37-
@ga:trigger-event.window="triggerEvent($event)"
38-
></div>
3931
</div>

0 commit comments

Comments
 (0)