[Added] IDE-Support script-tags and rearranging content

This commit is contained in:
2025-06-14 15:41:44 +02:00
parent 77ad43181f
commit bbfd38f3f6
9 changed files with 400 additions and 384 deletions

View File

@ -1,53 +1,54 @@
{# $oxcmp_basket|get_class_methods|dumpvar #}
{% set gtmBasketPrice = oxcmp_basket.getPrice() %} {% set gtmBasketPrice = oxcmp_basket.getPrice() %}
{% set gtmBasketObject = oxcmp_basket %} {% set gtmBasketObject = oxcmp_basket %}
{% set gtmCartArticles = gtmBasketObject.getBasketArticles() %} {% set gtmCartArticles = gtmBasketObject.getBasketArticles() %}
{% set gtmPaymentObject = oView.getPayment() %} {% set gtmPaymentObject = oView.getPayment() %}
{% block gtm_ga4_add_payment_info_block %} {% block gtm_ga4_add_payment_info_block %}
{% set gtm_ga4_add_payment_info %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set gtm_ga4_add_payment_info %}
dataLayer.push({ {% apply spaceless %}
'event': 'add_payment_info', dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
'eventLabel':'Checkout - Payment info', dataLayer.push({
'payment_type':'{{ gtmPaymentObject.gtmGetSelectedPaymentName() }}', 'event': 'add_payment_info',
'ecommerce': 'eventLabel':'Checkout - Payment info',
{ 'payment_type':'{{ gtmPaymentObject.gtmGetSelectedPaymentName() }}',
'actionField': "Payment-Info", 'ecommerce':
'currency': "{{ currency.name }}",
'value': {{ gtmBasketPrice.getPrice() }},
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'items':
[
{% for basketindex, basketitem in oxcmp_basket.getContents() %}
{% set gtmItemPriceObject = basketitem.getPrice() %}
{% set gtmBasketItem = basketitem.getArticle() %}
{% set gtmBasketItemCategory = gtmBasketItem.getCategory() %}
{ {
'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}', 'actionField': "Payment-Info",
'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}', 'currency': "{{ currency.name }}",
'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}', 'value': {{ gtmBasketPrice.getPrice() }},
{% if gtmBasketItemCategory %} 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}', 'items': [
'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}', {% for basketindex, basketitem in oxcmp_basket.getContents() %}
'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}', {% set gtmItemPriceObject = basketitem.getPrice() %}
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}', {% set gtmBasketItem = basketitem.getArticle() %}
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}', {% set gtmBasketItemCategory = gtmBasketItem.getCategory() %}
{
'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}',
'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}',
'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}',
{% if gtmBasketItemCategory %}
'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}',
'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}',
'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}',
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}',
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}',
{% endif %}
'price': {{ gtmItemPriceObject.getPrice() }},
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'quantity': {{ basketitem.getAmount() }},
'position': {{ loop.index0 }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %} {% endif %}
'price': {{ gtmItemPriceObject.getPrice() }}, });
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', {% endapply %}
'quantity': {{ basketitem.getAmount() }}, {% endset %}
'position': {{ loop.index0 }} {{ script({ add: gtm_ga4_add_payment_info.__toString(), dynamic: __oxid_include_dynamic }) }}
}{% if not loop.last %},{% endif %} </script>
{% endfor %} {% endapply %}{% endset %}
] {% endblock %}
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %}
});
{% endapply %}
{% endset %}
{{ script({ add: gtm_ga4_add_payment_info.__toString(), dynamic: __oxid_include_dynamic }) }}
{% endblock %}

View File

@ -1,62 +1,65 @@
{% if d3CmpBasket and d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() != "null" %}
{% set oGtmProduct = d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() %}
{% set oGtmAmountArticlesAdded = d3CmpBasket.getD3GtmAddToCartAmountArticles() %}
{% set d3PriceObject = oGtmProduct.getPrice() %}
{% set gtmCurrency = oView.getActCurrency() %}
{% set gtmManufacturer = oGtmProduct.getManufacturer() %}
{% set gtmCategory = oGtmProduct.getCategory() %}
{% if d3CmpBasket and d3CmpBasket.getAddToBasketDecision() and d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() != "null" %} {% block d3_ga4_add_to_cart_list_block %}
{% set oGtmProduct = d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() %} {% set doNotShow %}{% apply spaceless %}
{% set oGtmAmountArticlesAdded = d3CmpBasket.getD3GtmAddToCartAmountArticles() %} <script type="text/javascript">
{# twig.block.parent #} {% set d3_ga4_add_to_cart_listtpl %}
{# variable $oGtmProduct is passed from parent tempalte #} {% apply spaceless %}
{% set d3PriceObject = oGtmProduct.getPrice() %} document.addEventListener('DOMContentLoaded', function() {
{% set gtmCurrency = oView.getActCurrency() %} var toBasketButton = document.getElementById('toBasket');
{% set gtmManufacturer = oGtmProduct.getManufacturer() %}
{% set gtmCategory = oGtmProduct.getCategory() %}
{% block d3_ga4_add_to_cart_list_block %} if (toBasketButton) {
{% set d3_ga4_add_to_cart_listtpl %} toBasketButton.addEventListener('click', function() {
{% apply spaceless %} dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
{# ** Debug cases ** #} let iArtQuantity = document.getElementById("{{ htmlIdAmountOfArticles }}").value;
{# event.preventDefault(); #} let iArtQuantityAdded = {{ oGtmAmountArticlesAdded }};
let iArtQuantity = $("{{ htmlIdAmountOfArticles }}").val(); if(!iArtQuantity && (iArtQuantityAdded === 1)){
let iArtQuantityAdded = {{ oGtmAmountArticlesAdded }}; iArtQuantity = 1;
}else{
iArtQuantity = iArtQuantityAdded;
}
if(!iArtQuantity && (iArtQuantityAdded is same as(1)){ dataLayer.push({
) 'isAddToBasket': true,
iArtQuantity = 1; 'event':'add_to_cart',
}else{ 'eventLabel': 'add_to_cart',
iArtQuantity = iArtQuantityAdded; 'ecommerce': {
} 'currency': "{{ currency.name }}",
'value': iArtQuantity*{{ d3PriceObject.getPrice() }},
dataLayer.push({ 'items': [{
'isAddToBasket': true, 'item_id': '{{ oGtmProduct.getFieldData('oxartnum') }}',
'event':'add_to_cart', 'item_name': '{{ oGtmProduct.getFieldData('oxtitle')|raw }}',
'eventLabel': 'add_to_cart', 'price': {{ d3PriceObject.getPrice() }},
'ecommerce': { 'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}',
'currency': "{{ currency.name }}", 'item_variant': '{% if oGtmProduct.getFieldData('oxvarselect') %}{{ oGtmProduct.getFieldData('oxvarselect') }}{% endif %}',
'value': iArtQuantity*{{ d3PriceObject.getPrice() }}, {% if gtmCategory %}
'items': [ 'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}',
{ 'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}',
'item_id': '{{ oGtmProduct.getFieldData('oxartnum') }}', 'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}',
'item_name': '{{ oGtmProduct.getFieldData('oxtitle')|raw }}', 'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}',
'price': {{ d3PriceObject.getPrice() }}, 'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}',
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}', {% endif %}
'item_variant': '{% if oGtmProduct.getFieldData('oxvarselect') %}{{ oGtmProduct.getFieldData('oxvarselect') }}{% endif %}', 'quantity': iArtQuantity
{% if gtmCategory %} }]
'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}', }{% if oViewConf.isDebugModeOn() %},
'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}', 'debug_mode': 'true'
'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}', {% endif %}
'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}', });
'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}', });
{% endif %} }
'quantity': iArtQuantity });
} {% endapply %}
] {% endset %}
}{% if oViewConf.isDebugModeOn() %}, </script>
'debug_mode': 'true' {% endapply %}{% endset %}
{% endif %} {{ script({ add: d3_ga4_add_to_cart_listtpl.__toString(), dynamic: __oxid_include_dynamic }) }}
}); {% endblock %}
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_add_to_cart_listtpl.__toString(), dynamic: __oxid_include_dynamic }) }}
{% endblock %}
{% endif %} {% endif %}

View File

@ -1,52 +1,52 @@
{# $oxcmp_basket|get_class_methods|dumpvar #}
{% set d3BasketPrice = oxcmp_basket.getPrice() %} {% set d3BasketPrice = oxcmp_basket.getPrice() %}
{% set d3BasketObject = oxcmp_basket %} {% set d3BasketObject = oxcmp_basket %}
{% set gtmCartArticles = d3BasketObject.getBasketArticles() %} {% set gtmCartArticles = d3BasketObject.getBasketArticles() %}
{% set gtmCurrency = oView.getActCurrency() %} {% set gtmCurrency = oView.getActCurrency() %}
{% block d3_ga4_begin_checkout_block %} {% block d3_ga4_begin_checkout_block %}
{% set d3_ga4_begin_checkout %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_begin_checkout %}
dataLayer.push({ {% apply spaceless %}
'event': 'begin_checkout', dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
'eventLabel':'Begin of checkout', dataLayer.push({
'ecommerce': 'event': 'begin_checkout',
{ 'eventLabel':'Begin of checkout',
'actionField': "Begin", 'ecommerce': {
'currency': "{{ gtmCurrency.name }}", 'actionField': "Begin",
'value': {{ d3BasketPrice.getPrice() }}, 'currency': "{{ gtmCurrency.name }}",
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', 'value': {{ d3BasketPrice.getPrice() }},
'items': 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
[ 'items': [
{% for basketindex, basketitem in oxcmp_basket.getContents() %} {% for basketindex, basketitem in oxcmp_basket.getContents() %}
{% set d3oItemPrice = basketitem.getPrice() %} {% set d3oItemPrice = basketitem.getPrice() %}
{% set gtmBasketItem = basketitem.getArticle() %} {% set gtmBasketItem = basketitem.getArticle() %}
{% set gtmBasketItemCategory = gtmBasketItem.getCategory() %} {% set gtmBasketItemCategory = gtmBasketItem.getCategory() %}
{ {
'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}', 'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}',
'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}', 'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}',
'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}', 'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}',
{% if gtmBasketItemCategory %} {% if gtmBasketItemCategory %}
'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}', 'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}',
'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}', 'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}',
'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}', 'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}',
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}', 'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}',
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}', 'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}',
{% endif %} {% endif %}
'price': {{ d3oItemPrice.getPrice() }}, 'price': {{ d3oItemPrice.getPrice() }},
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'quantity': {{ basketitem.getAmount() }}, 'quantity': {{ basketitem.getAmount() }},
'position': {{ loop.index0 }} 'position': {{ loop.index0 }}
}{% if not loop.last %},{% endif %} }{% if not loop.last %},{% endif %}
{% endfor %} {% endfor %}
] ]
}{% if oViewConf.isDebugModeOn() %}, }{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true' 'debug_mode': 'true'
{% endif %} {% endif %}
}); });
{% endapply %} {% endapply %}
{% endset %} {% endset %}
{{ script({ add: d3_ga4_begin_checkout.__toString(), dynamic: __oxid_include_dynamic }) }} {{ script({ add: d3_ga4_begin_checkout.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endblock %} {% endblock %}

View File

@ -1,56 +1,60 @@
{% block d3_ga4_purchase_block %} {% block d3_ga4_purchase_block %}
{% set d3_ga4_purchase %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_purchase %}
{% set gtmOrder = oView.getOrder() %} {% apply spaceless %}
{% set gtmBasket = oView.getBasket() %} dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
{% set gtmArticles = gtmOrder.getOrderArticles() %} {% set gtmOrder = oView.getOrder() %}
{% set gtmOrderVouchers = gtmOrder.getVoucherNrList() %} {% set gtmBasket = oView.getBasket() %}
{% set gtmArticles = gtmOrder.getOrderArticles() %}
dataLayer.push({ {% set gtmOrderVouchers = gtmOrder.getVoucherNrList() %}
'event': 'purchase',
'eventLabel':'Checkout Step 5',
'ecommerce':
{
'transaction_id': '{{ gtmOrder.getFieldData("oxordernr") }}',
'affiliation': '{{ oxcmp_shop.getFieldData("oxname") }}',
'value': {{ gtmOrder.getTotalOrderSum() }},
'tax': {{ gtmOrder.getFieldData("oxartvatprice1")+gtmOrder.getFieldData("oxartvatprice2") }},
'shipping': {{ gtmOrder.getFieldData("oxdelcost") }},
'currency': '{{ gtmOrder.getFieldData('oxcurrency') }}',
'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}',
'paymentType': '{{ gtmBasket.getPaymentOnPaymentId() }}',
'items':
[
{% for gtmBasketItem in gtmArticles %}
{% set gtmPurchaseItemPriceObject = gtmBasketItem.getPrice() %}
{% set gtmPurchaseItem = gtmBasketItem.getArticle() %}
{% set gtmPurchaseItemCategory = gtmPurchaseItem.getCategory() %}
dataLayer.push({
'event': 'purchase',
'eventLabel':'Checkout Step 5',
'ecommerce':
{ {
'item_id': '{{ gtmBasketItem.getFieldData("oxartnum") }}', 'transaction_id': '{{ gtmOrder.getFieldData("oxordernr") }}',
'item_name': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}', 'affiliation': '{{ oxcmp_shop.getFieldData("oxname") }}',
'affiliation': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}', 'value': {{ gtmOrder.getTotalOrderSum() }},
'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}', 'tax': {{ gtmOrder.getFieldData("oxartvatprice1")+gtmOrder.getFieldData("oxartvatprice2") }},
'item_variant': '{{ gtmBasketItem.getFieldData("oxselvariant") }}', 'shipping': {{ gtmOrder.getFieldData("oxdelcost") }},
{% if gtmPurchaseItemCategory %} 'currency': '{{ gtmOrder.getFieldData('oxcurrency') }}',
'item_category': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(0, true) }}', 'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}',
'item_category_2': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(1, true) }}', 'paymentType': '{{ gtmBasket.getPaymentOnPaymentId() }}',
'item_category_3': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(2, true) }}', 'items':
'item_category_4': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(3, true) }}', [
'item_list_name': '{{ gtmPurchaseItemCategory.getSplitCategoryArray() }}', {% for gtmBasketItem in gtmArticles %}
{% endif %} {% set gtmPurchaseItemPriceObject = gtmBasketItem.getPrice() %}
'price': {{ gtmPurchaseItemPriceObject.getPrice() }}, {% set gtmPurchaseItem = gtmBasketItem.getArticle() %}
'quantity': {{ gtmBasketItem.getFieldData("oxamount") }}, {% set gtmPurchaseItemCategory = gtmPurchaseItem.getCategory() %}
'position': {{ loop.index }}
}{% if not loop.last %},{% endif %} {
{% endfor %} 'item_id': '{{ gtmBasketItem.getFieldData("oxartnum") }}',
] 'item_name': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
}{% if oViewConf.isDebugModeOn() %}, 'affiliation': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
'debug_mode': 'true' 'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}',
{% endif %} 'item_variant': '{{ gtmBasketItem.getFieldData("oxselvariant") }}',
}) {% if gtmPurchaseItemCategory %}
{% endapply %} 'item_category': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(0, true) }}',
{% endset %} 'item_category_2': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(1, true) }}',
{{ script({ add: d3_ga4_purchase.__toString(), dynamic: __oxid_include_dynamic }) }} 'item_category_3': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(2, true) }}',
'item_category_4': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(3, true) }}',
'item_list_name': '{{ gtmPurchaseItemCategory.getSplitCategoryArray() }}',
{% endif %}
'price': {{ gtmPurchaseItemPriceObject.getPrice() }},
'quantity': {{ gtmBasketItem.getFieldData("oxamount") }},
'position': {{ loop.index }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %}
})
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_purchase.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endblock %} {% endblock %}

View File

@ -1,46 +1,50 @@
{% block d3_ga4_remove_from_cart_block %} {% block d3_ga4_remove_from_cart_block %}
{% if hasBeenReloaded %} {% if hasBeenReloaded %}
{% set d3BasketPrice = oxcmp_basket.getPrice() %} {% set doNotShow %}{% apply spaceless %}
{% set d3_ga4_remove_from_cart %} <script type="text/javascript">
{% apply spaceless %} {% set d3BasketPrice = oxcmp_basket.getPrice() %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_remove_from_cart %}
dataLayer.push({ {% apply spaceless %}
'isRemoveFromCart': true, dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
'event': 'remove_from_cart', dataLayer.push({
'eventLabel':'remove_from_cart', 'isRemoveFromCart': true,
'ecommerce': { 'event': 'remove_from_cart',
'actionField': "step: 1", 'eventLabel':'remove_from_cart',
'currency': "{{ currency.name }}", 'ecommerce': {
'value': {{ d3BasketPrice.getPrice() }}, 'actionField': "step: 1",
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', 'currency': "{{ currency.name }}",
'items': [ 'value': {{ d3BasketPrice.getPrice() }},
{% for rmItemindex, rmItem in toRemoveArticles.getArray() %} 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
{% set d3oItemPrice = rmItem.getPrice() %} 'items': [
{% set gtmBasketItemCategory = rmItem.getCategory() %} {% for rmItemindex, rmItem in toRemoveArticles.getArray() %}
{ {% set d3oItemPrice = rmItem.getPrice() %}
'item_id': '{{ rmItem.getFieldData('oxartnum') }}', {% set gtmBasketItemCategory = rmItem.getCategory() %}
'item_name': '{{ rmItem.getFieldData('oxtitle')|raw }}', {
'item_variant': '{{ rmItem.getFieldData('oxvarselect') }}', 'item_id': '{{ rmItem.getFieldData('oxartnum') }}',
{% if gtmBasketItemCategory %} 'item_name': '{{ rmItem.getFieldData('oxtitle')|raw }}',
'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}', 'item_variant': '{{ rmItem.getFieldData('oxvarselect') }}',
'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}', {% if gtmBasketItemCategory %}
'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}', 'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}',
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}', 'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}',
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}', 'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}',
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}',
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}',
{% endif %}
'price': {{ d3oItemPrice.getPrice() }},
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'quantity': '{{ rmItem.getFieldData('d3AmountThatGotRemoved') }}',
'position': {{ loop.index0 }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %} {% endif %}
'price': {{ d3oItemPrice.getPrice() }}, });
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', {% endapply %}
'quantity': '{{ rmItem.getFieldData('d3AmountThatGotRemoved') }}', {% endset %}
'position': {{ loop.index0 }} {{ script({ add: d3_ga4_remove_from_cart.__toString(), dynamic: __oxid_include_dynamic }) }}
}{% if not loop.last %},{% endif %} </script>
{% endfor %} {% endapply %}{% endset %}
]
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_remove_from_cart.__toString(), dynamic: __oxid_include_dynamic }) }}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,50 +1,52 @@
{# $oxcmp_basket|get_class_methods|dumpvar #}
{% set d3BasketPrice = oxcmp_basket.getPrice() %} {% set d3BasketPrice = oxcmp_basket.getPrice() %}
{% set gtmCartArticles = oView.getBasketArticles() %} {% set gtmCartArticles = oView.getBasketArticles() %}
{% block d3_ga4_view_cart_block %} {% block d3_ga4_view_cart_block %}
{% set d3_ga4_view_cart %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_view_cart %}
dataLayer.push({ {% apply spaceless %}
'event': 'view_cart', dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
'eventLabel':'Checkout Step 1', dataLayer.push({
'ecommerce': 'event': 'view_cart',
{ 'eventLabel':'Checkout Step 1',
'actionField': "step: 1", 'ecommerce':
'currency': "{{ currency.name }}",
'value': {{ d3BasketPrice.getPrice() }},
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'items':
[
{% for basketindex, basketitem in oxcmp_basket.getContents() %}
{% set d3oItemPrice = basketitem.getPrice() %}
{% set gtmBasketItem = basketitem.getArticle() %}
{% set gtmBasketItemCategory = gtmBasketItem.getCategory() %}
{ {
'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}', 'actionField': "step: 1",
'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}', 'currency': "{{ currency.name }}",
'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}', 'value': {{ d3BasketPrice.getPrice() }},
{% if gtmBasketItemCategory %} 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}', 'items':
'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}', [
'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}', {% for basketindex, basketitem in oxcmp_basket.getContents() %}
'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}', {% set d3oItemPrice = basketitem.getPrice() %}
'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}', {% set gtmBasketItem = basketitem.getArticle() %}
{% endif %} {% set gtmBasketItemCategory = gtmBasketItem.getCategory() %}
'price': {{ d3oItemPrice.getPrice() }}, {
'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}', 'item_id': '{{ gtmCartArticles[basketindex].getFieldData('oxartnum') }}',
'quantity': {{ basketitem.getAmount() }}, 'item_name': '{{ gtmCartArticles[basketindex].getFieldData('oxtitle')|raw }}',
'position': {{ loop.index0 }} 'item_variant': '{{ gtmCartArticles[basketindex].getFieldData('oxvarselect') }}',
}{% if not loop.last %},{% endif %} {% if gtmBasketItemCategory %}
{% endfor %} 'item_category': '{{ gtmBasketItemCategory.getSplitCategoryArray(0, true) }}',
] 'item_category_2': '{{ gtmBasketItemCategory.getSplitCategoryArray(1, true) }}',
}{% if oViewConf.isDebugModeOn() %}, 'item_category_3': '{{ gtmBasketItemCategory.getSplitCategoryArray(2, true) }}',
'debug_mode': 'true' 'item_category_4': '{{ gtmBasketItemCategory.getSplitCategoryArray(3, true) }}',
{% endif %} 'item_list_name': '{{ gtmBasketItemCategory.getSplitCategoryArray() }}',
}); {% endif %}
{% endapply %} 'price': {{ d3oItemPrice.getPrice() }},
{% endset %} 'coupon': '{% for key, sVoucher in oxcmp_basket.getVouchers() %}{{ sVoucher.sVoucherNr }}{% if not loop.last %}, {% endif %}{% endfor %}',
{{ script({ add: d3_ga4_view_cart.__toString(), dynamic: __oxid_include_dynamic }) }} 'quantity': {{ basketitem.getAmount() }},
'position': {{ loop.index0 }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}{% if oViewConf.isDebugModeOn() %},
'debug_mode': 'true'
{% endif %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_view_cart.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endblock %} {% endblock %}

View File

@ -3,39 +3,37 @@
{% set gtmManufacturer = gtmProduct.getManufacturer() %} {% set gtmManufacturer = gtmProduct.getManufacturer() %}
{% block d3_ga4_view_item_block %} {% block d3_ga4_view_item_block %}
{% set d3_ga4_view_item %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_view_item %}{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
dataLayer.push({ dataLayer.push({
'event': 'view_item', 'event': 'view_item',
'eventLabel':'Product View', 'eventLabel':'Product View',
'ecommerce': 'ecommerce': {
{ 'currency': '{{ currency.name }}',
'currency': '{{ currency.name }}', 'items': [{
'items': 'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}',
[ 'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}',
{ 'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}',
'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}', 'item_variant': '{% if gtmProduct.getFieldData("oxvarselect") %}{{ gtmProduct.getFieldData("oxvarselect") }}{% endif %}',
'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}', {% if gtmCategory %}
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}',
'item_variant': '{% if gtmProduct.getFieldData("oxvarselect") %}{{ gtmProduct.getFieldData("oxvarselect") }}{% endif %}',
{% if gtmCategory %}
'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}', 'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}',
'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}', 'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}',
'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}', 'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}',
'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}', 'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}',
'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}', 'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}',
{% endif %} {% endif %}
{% set d3PriceObject = gtmProduct.getPrice() %} {% set d3PriceObject = gtmProduct.getPrice() %}
'price': {{ d3PriceObject.getPrice() }} 'price': {{ d3PriceObject.getPrice() }}
} }]
] }{% if oViewConf.isDebugModeOn() %},
}{% if oViewConf.isDebugModeOn() %}, 'debug_mode': 'true'
'debug_mode': 'true' {% endif %}
{% endif %} });
}); {% endapply %}{% endset %}
{% endapply %} </script>
{% endset %} {% endapply %}{% endset %}
{{ script({ add: d3_ga4_view_item.__toString(), dynamic: __oxid_include_dynamic }) }} {{ script({ add: d3_ga4_view_item.__toString(), dynamic: __oxid_include_dynamic }) }}
{% endblock %} {% endblock %}

View File

@ -5,41 +5,43 @@
{% block d3_ga4_view_item_list_block %} {% block d3_ga4_view_item_list_block %}
{% if gtmProducts|length %} {% if gtmProducts|length %}
{% set d3_ga4_view_item_list %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({ecommerce: null}); {% set d3_ga4_view_item_list %}{% apply spaceless %}
dataLayer.push({ dataLayer.push({ecommerce: null});
'event':'view_item_list', dataLayer.push({
'event_name': 'view_item_list', 'event':'view_item_list',
'ecommerce': { 'event_name': 'view_item_list',
'item_list_id': '{{ oView.getCategoryId() }}', 'ecommerce': {
'item_list_name': '{% for sCrum in oView.getBreadCrumb() %}{% if sCrum.title %}{{ breadCrumb|cat(sCrum.title)|cat(" > ")|raw }}{% endif %}{% endfor %}', 'item_list_id': '{{ oView.getCategoryId() }}',
'items': [ 'item_list_name': '{% for sCrum in oView.getBreadCrumb() %}{% if sCrum.title %}{{ breadCrumb|cat(sCrum.title)|cat(" > ")|raw }}{% endif %}{% endfor %}',
{% for gtmProduct in gtmProducts %} 'items': [
{% set d3PriceObject = gtmProduct.getPrice() %} {% for gtmProduct in gtmProducts %}
{% set gtmManufacturer = gtmProduct.getManufacturer() %} {% set d3PriceObject = gtmProduct.getPrice() %}
{% if not gtmCategory %}{% set gtmCategory = gtmProduct.getCategory() %}{% endif %} {% set gtmManufacturer = gtmProduct.getManufacturer() %}
{ {% if not gtmCategory %}{% set gtmCategory = gtmProduct.getCategory() %}{% endif %}
'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}', {
'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}', 'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}',
'price': {{ d3PriceObject.getPrice() }}, 'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}',
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}', 'price': {{ d3PriceObject.getPrice() }},
{% if gtmCategory %} 'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}',
'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}', {% if gtmCategory %}
'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}', 'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}',
'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}', 'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}',
'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}', 'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}',
{% endif %} 'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}',
'quantity': 1 {% endif %}
}{% if not loop.last %},{% endif %} 'quantity': 1
{% endfor %} }{% if not loop.last %},{% endif %}
] {% endfor %}
}{% if oViewConf.isDebugModeOn() %}, ]
'debug_mode': 'true' }{% if oViewConf.isDebugModeOn() %},
{% endif %} 'debug_mode': 'true'
}); {% endif %}
{% endapply %} });
{% endset %} {% endapply %}{% endset %}
{{ script({ add: d3_ga4_view_item_list.__toString(), dynamic: __oxid_include_dynamic }) }} {{ script({ add: d3_ga4_view_item_list.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,44 +1,46 @@
{% set gtmProducts = oView.getArticleList() %} {% set gtmProducts = oView.getArticleList() %}
{% block d3_ga4_view_search_result_block %} {% block d3_ga4_view_search_result_block %}
{% if gtmProducts %} {% if gtmProducts %}
{% set d3_ga4_view_search_result %} {% set doNotShow %}{% apply spaceless %}
{% apply spaceless %} <script type="text/javascript">
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ {% set d3_ga4_view_search_result %}{% apply spaceless %}
dataLayer.push({ dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
'event': 'view_search_result', dataLayer.push({
'eventLabel':'view_search_result{% if oViewConf.isDebugModeOn() %}_test{% endif %}', 'event': 'view_search_result',
'ecommerce': { 'eventLabel':'view_search_result{% if oViewConf.isDebugModeOn() %}_test{% endif %}',
'search_term': '{{ searchparamforhtml }}', 'ecommerce': {
'items': [ 'search_term': '{{ searchparamforhtml }}',
{% for gtmProduct in gtmProducts %} 'items': [
{% set d3PriceObject = gtmProduct.getPrice() %} {% for gtmProduct in gtmProducts %}
{% set gtmManufacturer = gtmProduct.getManufacturer() %} {% set d3PriceObject = gtmProduct.getPrice() %}
{% set gtmCategory = gtmProduct.getCategory() %} {% set gtmManufacturer = gtmProduct.getManufacturer() %}
{ {% set gtmCategory = gtmProduct.getCategory() %}
'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}', {
'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}', 'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}',
'price': {{ d3PriceObject.getPrice() }}, 'item_name': '{{ gtmProduct.getFieldData('oxtitle')|raw }}',
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}', 'price': {{ d3PriceObject.getPrice() }},
{% if gtmCategory %} 'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.getFieldData('oxtitle')|raw }}{% endif %}',
'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}', {% if gtmCategory %}
'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}', 'item_category': '{{ gtmCategory.getSplitCategoryArray(0, true) }}',
'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}', 'item_category_2':'{{ gtmCategory.getSplitCategoryArray(1, true) }}',
'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}', 'item_category_3':'{{ gtmCategory.getSplitCategoryArray(2, true) }}',
'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}', 'item_category_4':'{{ gtmCategory.getSplitCategoryArray(3, true) }}',
{% endif %} 'item_list_name':'{{ gtmCategory.getSplitCategoryArray() }}',
'quantity': 1 {% endif %}
}{% if not loop.last %},{% endif %} 'quantity': 1
{% endfor %} }{% if not loop.last %},{% endif %}
] {% endfor %}
}{% if oViewConf.isDebugModeOn() %}, ]
'debug_mode': 'true' }{% if oViewConf.isDebugModeOn() %},
{% endif %} 'debug_mode': 'true'
}); {% endif %}
{% endapply %} });
{% endset %} {% endapply %}{% endset %}
{{ script({ add: d3_ga4_view_search_result.__toString(), dynamic: __oxid_include_dynamic }) }} {{ script({ add: d3_ga4_view_search_result.__toString(), dynamic: __oxid_include_dynamic }) }}
{% endif %} </script>
{% endapply %}{% endset %}
{% endif %}
{% endblock %} {% endblock %}
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: 'amountToBasket'} %} {% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: 'amountToBasket'} %}