Skip to content

Commit 4ef5914

Browse files
authored
Merge pull request #51 from webmatch/feature/WBMSWPLUG-103-remove-from-cart-tracking
[TASK][WBMSWPLUG-103] add tracking for removeFromCart on the checkout.cart page
2 parents a893192 + 4cbad8c commit 4ef5914

File tree

5 files changed

+58
-3
lines changed

5 files changed

+58
-3
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## [3.5.4]
2+
- Fix missing removeFromCart tracking on the /checkout/cart page, tracking is not configurable
3+
14
## [3.5.4]
25
- Behebt einen Null-Pointer Exception beim tracken der Produktklicks (Danke an @nicoanders)
36

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
(function ($, window) {
2+
$.plugin('wbmRemoveFromCartTracking', {
3+
init: function () {
4+
var me = this;
5+
6+
me._on(me.$el, 'click', $.proxy(me.onProductClicked, me));
7+
},
8+
/**
9+
* @param {jQuery.Event} event
10+
*/
11+
onProductClicked: function (event) {
12+
var ordernumber = $(event.target).closest('.cart-item-delete').data('ordernumber');
13+
quantity = $(event.target).closest('.cart-item-delete').data('quantity');
14+
price = $(event.target).closest('.cart-item-delete').data('price');
15+
16+
window.dataLayer.push({
17+
'event': 'removeFromCart',
18+
'ecommerce': {
19+
'remove': [
20+
{
21+
'id': ordernumber,
22+
'quantity': quantity,
23+
'price': price
24+
}
25+
]
26+
}
27+
});
28+
}
29+
});
30+
31+
StateManager.addPlugin('.cart-item-delete', 'wbmRemoveFromCartTracking');
32+
})(jQuery, window);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{extends file='parent:frontend/checkout/items/product.tpl'}
2+
3+
{block name='frontend_checkout_cart_item_delete_article_form_submit'}
4+
{s name="CartItemLinkDelete" assign="snippetCartItemLinkDelete"}{/s}
5+
<button type="submit" class="btn is--small column--actions-link cart-item-delete"
6+
title="{$snippetCartItemLinkDelete|escape}"
7+
data-ordernumber="{$sBasketItem.ordernumber}"
8+
data-quantity="{$sBasketItem.quantity}"
9+
data-price="{$sBasketItem.price}">
10+
<i class="icon--cross"></i>
11+
</button>
12+
{/block}

Subscriber/Frontend/ThemeSubscriber.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@ public static function getSubscribedEvents(): array
2323

2424
public function addJsFiles(): ArrayCollection
2525
{
26-
$jsFiles = [];
2726
$jsDir = $this->pluginDir . '/Resources/views/frontend/_public/src/js/';
28-
$jsFiles[] = $jsDir . 'jquery.product-click-tracking.js';
27+
28+
$jsFiles = [
29+
$jsDir . 'jquery.product-click-tracking.js',
30+
$jsDir . 'jquery.remove-from-cart-tracking.js',
31+
];
2932

3033
return new ArrayCollection($jsFiles);
3134
}

plugin.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<label lang="de">Tag Manager</label>
44
<label lang="en">Tag Manager</label>
55

6-
<version>3.5.4</version>
6+
<version>3.5.5</version>
77
<copyright>Webmatch GmbH</copyright>
88
<license>proprietary</license>
99
<link>http://www.webmatch.de</link>
@@ -12,6 +12,11 @@
1212
<author>Webmatch GmbH</author>
1313
<compatibility minVersion="5.6.3" />
1414

15+
<changelog version="3.5.5">
16+
<changes lang="de">Behebt fehlendes Tracking für removeFromCart auf der Warenkorb-Seite, die Daten sind nicht konfigurierbar im Backend</changes>
17+
<changes lang="en">Fix missing removeFromCart tracking on the cart page, data is not configurable in the backend</changes>
18+
</changelog>
19+
1520
<changelog version="3.5.4">
1621
<changes lang="de">Behebt einen Null-Pointer Exception beim tracken der Produktklicks (Danke an @nicoanders)</changes>
1722
<changes lang="en">Fix null pointer exception for tracking of product clicks (thanks to @nicoanders)</changes>

0 commit comments

Comments
 (0)