From bbfd38f3f648be26a0d3ab7ab47142b283670f38 Mon Sep 17 00:00:00 2001 From: MaxBuhe01 Date: Sat, 14 Jun 2025 15:41:44 +0200 Subject: [PATCH] [Added] IDE-Support script-tags and rearranging content --- views/twig/event/add_payment_info.html.twig | 91 +++++++------- views/twig/event/add_to_cart.html.twig | 115 +++++++++--------- views/twig/event/begin_checkout.html.twig | 90 +++++++------- views/twig/event/purchase.html.twig | 108 ++++++++-------- views/twig/event/remove_from_cart.html.twig | 86 ++++++------- views/twig/event/view_cart.html.twig | 90 +++++++------- views/twig/event/view_item.html.twig | 52 ++++---- views/twig/event/view_item_list.html.twig | 74 +++++------ views/twig/event/view_search_result.html.twig | 78 ++++++------ 9 files changed, 400 insertions(+), 384 deletions(-) diff --git a/views/twig/event/add_payment_info.html.twig b/views/twig/event/add_payment_info.html.twig index f910416..c3dd8e9 100644 --- a/views/twig/event/add_payment_info.html.twig +++ b/views/twig/event/add_payment_info.html.twig @@ -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 %} + + {% endapply %}{% endset %} +{% endblock %} \ No newline at end of file diff --git a/views/twig/event/add_to_cart.html.twig b/views/twig/event/add_to_cart.html.twig index 84c1553..6016c97 100644 --- a/views/twig/event/add_to_cart.html.twig +++ b/views/twig/event/add_to_cart.html.twig @@ -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 %} + + {% endapply %}{% endset %} + {{ script({ add: d3_ga4_add_to_cart_listtpl.__toString(), dynamic: __oxid_include_dynamic }) }} + {% endblock %} {% endif %} \ No newline at end of file diff --git a/views/twig/event/begin_checkout.html.twig b/views/twig/event/begin_checkout.html.twig index d84ab67..fd4dfa5 100644 --- a/views/twig/event/begin_checkout.html.twig +++ b/views/twig/event/begin_checkout.html.twig @@ -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 %} + + {% endapply %}{% endset %} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/purchase.html.twig b/views/twig/event/purchase.html.twig index 98fb1c6..b61da5e 100644 --- a/views/twig/event/purchase.html.twig +++ b/views/twig/event/purchase.html.twig @@ -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 %} + + {% endapply %}{% endset %} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/remove_from_cart.html.twig b/views/twig/event/remove_from_cart.html.twig index a62eca3..b251dac 100644 --- a/views/twig/event/remove_from_cart.html.twig +++ b/views/twig/event/remove_from_cart.html.twig @@ -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 %} + + {% endapply %}{% endset %} {% endif %} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/view_cart.html.twig b/views/twig/event/view_cart.html.twig index f37cc61..1ccd01b 100644 --- a/views/twig/event/view_cart.html.twig +++ b/views/twig/event/view_cart.html.twig @@ -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 %} + + {% endapply %}{% endset %} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/view_item.html.twig b/views/twig/event/view_item.html.twig index b5b2881..7445a4a 100644 --- a/views/twig/event/view_item.html.twig +++ b/views/twig/event/view_item.html.twig @@ -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 %} + + {% endapply %}{% endset %} {{ script({ add: d3_ga4_view_item.__toString(), dynamic: __oxid_include_dynamic }) }} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/view_item_list.html.twig b/views/twig/event/view_item_list.html.twig index 530e737..aff0398 100644 --- a/views/twig/event/view_item_list.html.twig +++ b/views/twig/event/view_item_list.html.twig @@ -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 %} + + {% endapply %}{% endset %} {% endif %} {% endblock %} \ No newline at end of file diff --git a/views/twig/event/view_search_result.html.twig b/views/twig/event/view_search_result.html.twig index 5989d2f..b6a1191 100644 --- a/views/twig/event/view_search_result.html.twig +++ b/views/twig/event/view_search_result.html.twig @@ -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 %} + + {% endapply %}{% endset %} + {% endif %} {% endblock %} {% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: 'amountToBasket'} %} \ No newline at end of file