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

View File

@ -1,52 +1,52 @@
{# $oxcmp_basket|get_class_methods|dumpvar #}
{% set d3BasketPrice = oxcmp_basket.getPrice() %}
{% set d3BasketObject = oxcmp_basket %}
{% set gtmCartArticles = d3BasketObject.getBasketArticles() %}
{% set gtmCurrency = oView.getActCurrency() %}
{% block d3_ga4_begin_checkout_block %}
{% set d3_ga4_begin_checkout %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
dataLayer.push({
'event': 'begin_checkout',
'eventLabel':'Begin of checkout',
'ecommerce':
{
'actionField': "Begin",
'currency': "{{ gtmCurrency.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') }}',
'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': {{ d3oItemPrice.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 %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_begin_checkout.__toString(), dynamic: __oxid_include_dynamic }) }}
{% set doNotShow %}{% apply spaceless %}
<script type="text/javascript">
{% set d3_ga4_begin_checkout %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
dataLayer.push({
'event': 'begin_checkout',
'eventLabel':'Begin of checkout',
'ecommerce': {
'actionField': "Begin",
'currency': "{{ gtmCurrency.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') }}',
'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': {{ d3oItemPrice.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 %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_begin_checkout.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endblock %}

View File

@ -1,56 +1,60 @@
{% block d3_ga4_purchase_block %}
{% set d3_ga4_purchase %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
{% set gtmOrder = oView.getOrder() %}
{% set gtmBasket = oView.getBasket() %}
{% set gtmArticles = gtmOrder.getOrderArticles() %}
{% set gtmOrderVouchers = gtmOrder.getVoucherNrList() %}
dataLayer.push({
'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() %}
{% set doNotShow %}{% apply spaceless %}
<script type="text/javascript">
{% set d3_ga4_purchase %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
{% set gtmOrder = oView.getOrder() %}
{% set gtmBasket = oView.getBasket() %}
{% set gtmArticles = gtmOrder.getOrderArticles() %}
{% set gtmOrderVouchers = gtmOrder.getVoucherNrList() %}
dataLayer.push({
'event': 'purchase',
'eventLabel':'Checkout Step 5',
'ecommerce':
{
'item_id': '{{ gtmBasketItem.getFieldData("oxartnum") }}',
'item_name': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
'affiliation': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}',
'item_variant': '{{ gtmBasketItem.getFieldData("oxselvariant") }}',
{% if gtmPurchaseItemCategory %}
'item_category': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(0, true) }}',
'item_category_2': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(1, true) }}',
'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 }) }}
'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() %}
{
'item_id': '{{ gtmBasketItem.getFieldData("oxartnum") }}',
'item_name': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
'affiliation': '{{ gtmBasketItem.getFieldData('oxtitle')|raw }}',
'coupon': '{% for gtmOrderVoucher in gtmOrderVouchers %}{{ gtmOrderVoucher }}{% if not loop.last %}, {% endif %}{% endfor %}',
'item_variant': '{{ gtmBasketItem.getFieldData("oxselvariant") }}',
{% if gtmPurchaseItemCategory %}
'item_category': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(0, true) }}',
'item_category_2': '{{ gtmPurchaseItemCategory.getSplitCategoryArray(1, true) }}',
'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 %}

View File

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

View File

@ -1,50 +1,52 @@
{# $oxcmp_basket|get_class_methods|dumpvar #}
{% set d3BasketPrice = oxcmp_basket.getPrice() %}
{% set gtmCartArticles = oView.getBasketArticles() %}
{% block d3_ga4_view_cart_block %}
{% set d3_ga4_view_cart %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
dataLayer.push({
'event': 'view_cart',
'eventLabel':'Checkout Step 1',
'ecommerce':
{
'actionField': "step: 1",
'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() %}
{% set doNotShow %}{% apply spaceless %}
<script type="text/javascript">
{% set d3_ga4_view_cart %}
{% apply spaceless %}
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null});
dataLayer.push({
'event': 'view_cart',
'eventLabel':'Checkout Step 1',
'ecommerce':
{
'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': {{ d3oItemPrice.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 %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_view_cart.__toString(), dynamic: __oxid_include_dynamic }) }}
'actionField': "step: 1",
'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') }}',
'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': {{ d3oItemPrice.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 %}
});
{% endapply %}
{% endset %}
{{ script({ add: d3_ga4_view_cart.__toString(), dynamic: __oxid_include_dynamic }) }}
</script>
{% endapply %}{% endset %}
{% endblock %}

View File

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

View File

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

View File

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