[Added] twig files ( unfixed )
This commit is contained in:
108
views/twig/admin/d3googleanalytics4_headitem.html.twig
Normal file
108
views/twig/admin/d3googleanalytics4_headitem.html.twig
Normal file
@ -0,0 +1,108 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>{{ title }}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={{ charset }}">
|
||||
{% if isset(meta_refresh_sec, meta_refresh_url) %}
|
||||
<meta http-equiv=Refresh content="{{ meta_refresh_sec }};URL={{ meta_refresh_url|replace("&", "&") }}">
|
||||
{% endif %}
|
||||
<link rel="shortcut icon" href="{{ oViewConf.getBaseDir() }}favicon.ico">
|
||||
|
||||
{% block admin_headitem_inccss %}
|
||||
<link rel="stylesheet" href="{{ oViewConf.getResourceUrl() }}main.css">
|
||||
<link rel="stylesheet" href="{{ oViewConf.getResourceUrl() }}colors_{{ oViewConf.getEdition()|lower }}.css">
|
||||
<link rel="stylesheet" type="text/css" href="{{ oViewConf.getResourceUrl() }}yui/build/assets/skins/sam/container.css">
|
||||
{% endblock %}
|
||||
|
||||
{% block admin_headitem_incjs %}
|
||||
<script type="text/javascript" src="{{ oViewConf.getResourceUrl() }}yui/build/utilities/utilities.js"></script>
|
||||
<script type="text/javascript" src="{{ oViewConf.getResourceUrl() }}yui/build/container/container-min.js"></script>
|
||||
<script type="text/javascript" src="{{ oViewConf.getResourceUrl() }}yui/oxid-help.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block admin_headitem_js %}
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// standard messages
|
||||
var sUnassignMessage = "{{ translate({ ident: 'GENERAL_YOUWANTTOUNASSIGN' }) }}";
|
||||
var sDeleteMessage = "{{ translate({ ident: 'GENERAL_YOUWANTTODELETE' }) }}";
|
||||
|
||||
// class info
|
||||
var sDefClass = '{{ default_edit }}';
|
||||
var sActClass = '{{ actlocation }}';
|
||||
|
||||
{% if updatelist == 1 %}
|
||||
window.onload = function ()
|
||||
{
|
||||
top.oxid.admin.updateList('{{ oxid }}');
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
|
||||
var ajaxpopup = null;
|
||||
function showDialog( sParams )
|
||||
{
|
||||
ajaxpopup = window.open('{{ oViewConf.getSelfLink()|replace("&", "&") }}'+sParams, 'ajaxpopup', 'width=850,height=680,scrollbars=yes,resizable=yes');
|
||||
}
|
||||
|
||||
function focusPopup()
|
||||
{
|
||||
if ( ajaxpopup )ajaxpopup.focus();
|
||||
}
|
||||
|
||||
window.onclick = focusPopup;
|
||||
|
||||
function cleanupLongDesc( sValue )
|
||||
{
|
||||
if ( sValue == '<br>' || sValue == '<br />' ) {
|
||||
return '';
|
||||
}
|
||||
return sValue;
|
||||
}
|
||||
|
||||
function copyLongDesc( sIdent )
|
||||
{
|
||||
var textVal = null;
|
||||
try {
|
||||
if ( WPro.editors[sIdent] != null ) {
|
||||
WPro.editors[sIdent].prepareSubmission();
|
||||
textVal = cleanupLongDesc( WPro.editors[sIdent].getValue() );
|
||||
}
|
||||
} catch(err) {
|
||||
var varEl = document.getElementById(sIdent);
|
||||
if (varEl != null) {
|
||||
textVal = cleanupLongDesc( varEl.value );
|
||||
}
|
||||
}
|
||||
|
||||
if (textVal == null) {
|
||||
var varName = 'editor_'+sIdent;
|
||||
var varEl = document.getElementById(varName);
|
||||
if (varEl != null) {
|
||||
textVal = cleanupLongDesc( varEl.value );
|
||||
}
|
||||
}
|
||||
|
||||
if (textVal != null) {
|
||||
var oTarget = document.getElementsByName( 'editval['+ sIdent + ']' );
|
||||
if ( oTarget != null && ( oField = oTarget.item( 0 ) ) != null ) {
|
||||
oField.value = textVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
{% include "tooltips.html.twig" %}
|
||||
<div id="oxajax_data"></div>
|
||||
|
||||
<div class="{{ box|default('box') }}" style="height: 100%;">
|
||||
{% include "inc_error.html.twig" with {Errorlist: Errors.default} %}
|
||||
|
||||
<!-- Input help popup -->
|
||||
<div id="helpTextContainer" class="yui-skin-sam">
|
||||
<div id="helpPanel"></div>
|
||||
</div>
|
197
views/twig/admin/d3googleanalytics4_main.html.twig
Normal file
197
views/twig/admin/d3googleanalytics4_main.html.twig
Normal file
@ -0,0 +1,197 @@
|
||||
{% include "@d3googleanalytics4/admin/d3ga4uiheaditem.html.twig" with {title: "GENERAL_ADMIN_TITLE"|translate} %}
|
||||
<style>
|
||||
body {
|
||||
background-image: linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%);
|
||||
}
|
||||
</style>
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||
|
||||
{% if readonly %}
|
||||
{% set readonly = "readonly disabled" %}
|
||||
{% else %}
|
||||
{% set readonly = "" %}
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<form name="d3gtmformedit" id="d3gtmformedit" action="{{ oViewConf.getSelfLink() }}" enctype="multipart/form-data" method="post">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
{{ oViewConf.getHiddenSid() }}
|
||||
<input type="hidden" name="cl" value="{{ oViewConf.getActiveClassName() }}">
|
||||
<input type="hidden" name="fnc" value="">
|
||||
<input type="hidden" name="editlanguage" value="{{ editlanguage }}">
|
||||
|
||||
<div class="card mb-5">
|
||||
<div class="card-header">
|
||||
{{ translate({ ident: "D3BASECONFIG" }) }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-check mb-3">
|
||||
<input class="form-check-input" type="checkbox" value="" name="editval[bool][_blEnableGa4]" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableGa4') %}checked{% endif %} id="blGA4enab">
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ translate({ ident: "D3ACTIVATEMOD" }) }} {% if false is same as(d3ViewObject.d3GetModuleConfigParam('_blEnableGa4')) %}<span style="color: red">{{ translate({ ident: "D3INACTIVATEMOD" }) }}</span>{% endif %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<div class="input-group w-50">
|
||||
<span class="input-group-text" id="basic-addon3">{{ translate({ ident: "D3CONTAINERID" }) }}</span>
|
||||
<input type="text" class="form-control" id="_sContainerID" name="editval[str][_sContainerID]" aria-describedby="basic-addon3" value="{{ d3ViewObject.d3GetModuleConfigParam('_sContainerID') }}">
|
||||
</div>
|
||||
<div class="text-muted">{{ translate({ ident: "D3CONTAINERID_HELP" }) }}</div>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="_blEnableDebug" name="editval[bool][_blEnableDebug]" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableDebug') %}checked{% endif %}>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ translate({ ident: "D3USEDEBUGMODE" }) }}{% include "inputhelp.html.twig" with {'sHelpId': help_id("D3USEDEBUGMODE_HELP"), 'sHelpText': help_text("D3USEDEBUGMODE_HELP")} %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="_blActivateConsentMode" name="editval[bool][_blEnableConsentMode]" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableConsentMode') %}checked{% endif %}>
|
||||
<label class="form-check-label" for="flexCheckChecked">
|
||||
{{ translate({ ident: "D3USEGOOGLECONSENTMODE" }) }}{% include "inputhelp.html.twig" with {'sHelpId': help_id("D3USEGOOGLECONSENTMODE_HELP"), 'sHelpText': help_text("D3USEGOOGLECONSENTMODE_HELP")} %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="save" class="btn btn-light" onClick="Javascript:document.d3gtmformedit.fnc.value='save'">{{ translate({ ident: "GENERAL_SAVE" }) }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="card border border-0">
|
||||
<div class="accordion" id="accordionPanelsStayOpenExample">
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-cmpsettings" aria-expanded="true" aria-controls="panelsStayOpen-cmpsettings">
|
||||
{{ translate({ ident: "D3CMPTABTITLE" }) }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="panelsStayOpen-cmpsettings" class="accordion-collapse collapse show">
|
||||
<div class="accordion-body">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="editval[bool][_blEnableOwnCookieManager]" value="" id="_hasOwnCookieManager" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableOwnCookieManager') %}checked{% endif %}>
|
||||
<label class="form-check-label" for="flexCheckChecked">
|
||||
{{ translate({ ident: "D3CMPUSEQ" }) }}{% include "inputhelp.html.twig" with {'sHelpId': help_id("D3CMPUSEQ_HELP"), 'sHelpText': help_text("D3CMPUSEQ_HELP")} %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label>
|
||||
{{ translate({ ident: "D3CMP" }) }}
|
||||
</label>
|
||||
<select class="form-select w-50" name="editval[select][_HAS_STD_MANAGER]" aria-label="Default select example">
|
||||
{% for sInternalName, sPublicName in d3ManagerTypeArray %}
|
||||
<option value="{{ sInternalName }}" {% if sInternalName is same as(d3CurrentCMP) %}SELECTED{% endif %}>{{ sPublicName }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<div class="input-group w-75">
|
||||
<span class="input-group-text" id="basic-addon3">{{ translate({ ident: "D3CNTRLPARAM" }) }}</span>
|
||||
<input type="text" class="form-control" id="_controlParameter" name="editval[str][_sControlParameter]" value="{{ d3ViewObject.d3GetModuleConfigParam('_sControlParameter') }}" aria-describedby="basic-addon3">
|
||||
</div>
|
||||
<div class="text-muted">{{ translate({ ident: "D3CNTRLPARAM_HELP" }) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="save" class="btn btn-light w-100" onClick="Javascript:document.d3gtmformedit.fnc.value='save'">{{ translate({ ident: "GENERAL_SAVE" }) }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-serversidetagging" aria-expanded="false" aria-controls="panelsStayOpen-serversidetagging">
|
||||
{{ translate({ ident: "D3SERVERSIDETAGGING" }) }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="panelsStayOpen-serversidetagging" class="accordion-collapse collapse">
|
||||
<div class="accordion-body">
|
||||
<div class="card bg-light rounded mb-3">
|
||||
<div class="card-body">
|
||||
{{ translate({ ident: "D3SERVERSIDETAGGING_HINT" }) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text w-25" id="basic-addon3">{{ translate({ ident: "D3SERVERSIDETAGGING_TITLE_ACTIVE" }) }}</span>
|
||||
<input type="text" class="form-control" id="_serversidetagging_js" name="editval[str][_sServersidetagging_js]" value="{{ d3ViewObject.d3GetModuleConfigParam('_sServersidetagging_js') }}" aria-describedby="basic-addon3">
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text w-25" id="basic-addon3">{{ translate({ ident: "D3SERVERSIDETAGGING_TITLE_PASSIVE" }) }}</span>
|
||||
<input type="text" class="form-control" id="_serversidetagging_nojs" name="editval[str][_sServersidetagging_nojs]" value="{{ d3ViewObject.d3GetModuleConfigParam('_sServersidetagging_nojs') }}" aria-describedby="basic-addon3">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button type="button" class="btn btn-light mt-3" data-bs-toggle="modal" data-bs-target="#exampleModal">
|
||||
{{ translate({ ident: "D3DETAILED_DESC" }) }}
|
||||
</button>
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<h4>{{ translate({ ident: "D3SERVERSIDETAGGING_TITLE_ACTIVE" }) }}</h4>
|
||||
{{ translate({ ident: "D3SERVERSIDETAGGING_ACTIVE" }) }}
|
||||
<hr>
|
||||
<h4>{{ translate({ ident: "D3SERVERSIDETAGGING_TITLE_PASSIVE" }) }}</h4>
|
||||
{{ translate({ ident: "D3SERVERSIDETAGGING_PASSIVE" }) }}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ translate({ ident: "D3CLOSE" }) }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="save" class="btn btn-light w-100" onClick="Javascript:document.d3gtmformedit.fnc.value='save'">{{ translate({ ident: "GENERAL_SAVE" }) }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% if d3ViewConfObject.d3IsUsercentricsCMPChosen() %}
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-usercentricsdynamicoptions" aria-expanded="false" aria-controls="panelsStayOpen-usercentricsdynamicoptions">
|
||||
{{ translate({ ident: "D3USRCNTRCSDYNOPT" }) }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="panelsStayOpen-usercentricsdynamicoptions" class="accordion-collapse collapse">
|
||||
<div class="accordion-body">
|
||||
<div class="card bg-light rounded mb-3">
|
||||
<div class="card-body">
|
||||
<div class="text-danger mb-3">
|
||||
{{ translate({ ident: "D3USRCNTRCSCFG_WARNING" }) }}
|
||||
</div>
|
||||
{{ translate({ ident: "D3USRCNTRCSCFG_DOCS" }) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="enabledefaultmeasurementvalues" name="editval[bool][_blEnableMeasurementCapabilities]" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableMeasurementCapabilities') %}checked{% endif %}>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ translate({ ident: "D3USRCNTRCSCFG_ACT_INDIVDEFVAL" }) }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text w-25" id="basic-addon3">{{ translate({ ident: "D3USRCNTRCSCFG_STD_CNST" }) }}</span>
|
||||
<textarea name="editval[str][_sMeasurementCapabilities]" class="form-control" rows="15">{{ d3ViewObject.d3GetModuleConfigParam('_sDefaultMeasurementCapabilities') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="enableUsercentricsConsentModeApi" name="editval[bool][_blEnableUsercentricsConsentModeApi]" {% if d3ViewObject.d3GetModuleConfigParam('_blEnableUsercentricsConsentModeApi') %}checked{% endif %}>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ translate({ ident: "D3USRCNTRCSCFG_ACT_CNSTMDE_API" }) }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text w-25" id="basic-addon3">{{ translate({ ident: "D3USRCNTRCSCFG_CNSTMDE_API" }) }}</span>
|
||||
<textarea name="editval[str][_sUsercentricsConsentModeApi]" class="form-control" rows="40">{{ d3ViewObject.d3GetModuleConfigParam('_sDefaultUsercentricsConsentModeApi') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="save" class="btn btn-light w-100" onClick="Javascript:document.d3gtmformedit.fnc.value='save'">{{ translate({ ident: "GENERAL_SAVE" }) }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
53
views/twig/event/add_payment_info.html.twig
Normal file
53
views/twig/event/add_payment_info.html.twig
Normal file
@ -0,0 +1,53 @@
|
||||
{# $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 %}
|
||||
{% capture name = "gtm_ga4_add_payment_info" %}
|
||||
{% 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() %}
|
||||
{
|
||||
'item_id': '{{ gtmCartArticles[$basketindex].getFieldData('oxartnum') }}',
|
||||
'item_name': '{{ gtmCartArticles[$basketindex].getFieldData('oxtitle') }}',
|
||||
'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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.gtm_ga4_add_payment_info, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
61
views/twig/event/add_to_cart.html.twig
Normal file
61
views/twig/event/add_to_cart.html.twig
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
{% if d3CmpBasket and d3CmpBasket.getAddToBasketDecision() and d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() != "null" %}
|
||||
{% set oGtmProduct = d3CmpBasket.d3GtmRequestedArticleLoadedByAnid() %}
|
||||
{% set oGtmAmountArticlesAdded = d3CmpBasket.getD3GtmAddToCartAmountArticles() %}
|
||||
{# $smarty.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 %}
|
||||
{% capture name = "d3_ga4_add_to_cart_listtpl" %}
|
||||
{% spaceless %}
|
||||
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
|
||||
|
||||
{# ** Debug cases ** #}
|
||||
{# event.preventDefault(); #}
|
||||
|
||||
let iArtQuantity = $("{{ htmlIdAmountOfArticles }}").val();
|
||||
let iArtQuantityAdded = {{ oGtmAmountArticlesAdded }};
|
||||
|
||||
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') }}',
|
||||
'price': {{ d3PriceObject.getPrice() }},
|
||||
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.oxmanufacturers__oxtitle.value }}{% 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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_add_to_cart_listtpl, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
52
views/twig/event/begin_checkout.html.twig
Normal file
52
views/twig/event/begin_checkout.html.twig
Normal file
@ -0,0 +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 %}
|
||||
{% capture name = "d3_ga4_begin_checkout" %}
|
||||
{% 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') }}',
|
||||
'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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_begin_checkout, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
56
views/twig/event/purchase.html.twig
Normal file
56
views/twig/event/purchase.html.twig
Normal file
@ -0,0 +1,56 @@
|
||||
{% block d3_ga4_purchase_block %}
|
||||
{% capture name = "d3_ga4_purchase" %}
|
||||
{% 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() %}
|
||||
|
||||
{
|
||||
'item_id': '{{ gtmBasketItem.getFieldData("oxartnum") }}',
|
||||
'item_name': '{{ gtmBasketItem.getFieldData("oxtitle") }}',
|
||||
'affiliation': '{{ gtmBasketItem.getFieldData("oxtitle") }}',
|
||||
'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 %}
|
||||
})
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_purchase, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
46
views/twig/event/remove_from_cart.html.twig
Normal file
46
views/twig/event/remove_from_cart.html.twig
Normal file
@ -0,0 +1,46 @@
|
||||
{% block d3_ga4_remove_from_cart_block %}
|
||||
{% if hasBeenReloaded %}
|
||||
{% set d3BasketPrice = oxcmp_basket.getPrice() %}
|
||||
{% capture name = "d3_ga4_remove_from_cart" %}
|
||||
{% 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') }}',
|
||||
'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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_remove_from_cart, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
50
views/twig/event/view_cart.html.twig
Normal file
50
views/twig/event/view_cart.html.twig
Normal file
@ -0,0 +1,50 @@
|
||||
{# $oxcmp_basket|get_class_methods|dumpvar #}
|
||||
|
||||
{% set d3BasketPrice = oxcmp_basket.getPrice() %}
|
||||
{% set gtmCartArticles = oView.getBasketArticles() %}
|
||||
|
||||
{% block d3_ga4_view_cart_block %}
|
||||
{% capture name = "d3_ga4_view_cart" %}
|
||||
{% 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() %}
|
||||
{
|
||||
'item_id': '{{ gtmCartArticles[$basketindex].getFieldData('oxartnum') }}',
|
||||
'item_name': '{{ gtmCartArticles[$basketindex].getFieldData('oxtitle') }}',
|
||||
'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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_view_cart, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
41
views/twig/event/view_item.html.twig
Normal file
41
views/twig/event/view_item.html.twig
Normal file
@ -0,0 +1,41 @@
|
||||
{% set gtmProduct = oView.getProduct() %}
|
||||
{% set gtmCategory = gtmProduct.getCategory() %}
|
||||
{% set gtmManufacturer = gtmProduct.getManufacturer() %}
|
||||
|
||||
{% block d3_ga4_view_item_block %}
|
||||
{% capture name = "d3_ga4_view_item" %}
|
||||
{% spaceless %}
|
||||
dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */
|
||||
|
||||
dataLayer.push({
|
||||
'event': 'view_item',
|
||||
'eventLabel':'Product View',
|
||||
'ecommerce':
|
||||
{
|
||||
'currency': '{{ currency.name }}',
|
||||
'items':
|
||||
[
|
||||
{
|
||||
'item_name': '{{ gtmProduct.getFieldData("oxtitle") }}',
|
||||
'item_id': '{{ gtmProduct.getFieldData("oxartnum") }}',
|
||||
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.oxmanufacturers__oxtitle.value }}{% 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() %}
|
||||
'price': {{ d3PriceObject.getPrice() }}
|
||||
}
|
||||
]
|
||||
}{% if oViewConf.isDebugModeOn() %},
|
||||
'debug_mode': 'true'
|
||||
{% endif %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_view_item, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endblock %}
|
45
views/twig/event/view_item_list.html.twig
Normal file
45
views/twig/event/view_item_list.html.twig
Normal file
@ -0,0 +1,45 @@
|
||||
{% set gtmProducts = oView.getArticleList() %}
|
||||
{% set gtmCategory = oView.getActiveCategory() %}
|
||||
|
||||
{% set breadCrumb = '' %}
|
||||
|
||||
{% block d3_ga4_view_item_list_block %}
|
||||
{% if gtmProducts|length %}
|
||||
{% capture name = "d3_ga4_view_item_list" %}
|
||||
{% 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(") > " }}{% 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") }}',
|
||||
'price': {{ d3PriceObject.getPrice() }},
|
||||
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.oxmanufacturers__oxtitle.value }}{% 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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_view_item_list, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
44
views/twig/event/view_search_result.html.twig
Normal file
44
views/twig/event/view_search_result.html.twig
Normal file
@ -0,0 +1,44 @@
|
||||
{% set gtmProducts = oView.getArticleList() %}
|
||||
|
||||
{% block d3_ga4_view_search_result_block %}
|
||||
{% if gtmProducts %}
|
||||
{% capture name = "d3_ga4_view_search_result" %}
|
||||
{% 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") }}',
|
||||
'price': {{ d3PriceObject.getPrice() }},
|
||||
'item_brand': '{% if gtmManufacturer %}{{ gtmManufacturer.oxmanufacturers__oxtitle.value }}{% 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 %}
|
||||
});
|
||||
{% endspaceless %}
|
||||
{% endcapture %}
|
||||
{{ script({ add: smarty.capture.d3_ga4_view_search_result, dynamic: __oxid_include_dynamic }) }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
@ -0,0 +1,55 @@
|
||||
{# Always prepare the data layer to avoid errors #}
|
||||
{% if oViewConf.isGA4enabled() %}
|
||||
{% set d3GtmContainerIdString = oViewConf.getGtmContainerId() %}
|
||||
<script>
|
||||
var dataLayer = {{ oViewConf.getGtmDataLayer() }} || [];
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{% if oViewConf.isGA4enabled() and oViewConf.D3blShowGtmScript() %}
|
||||
{% if d3GtmContainerIdString %}
|
||||
{% spaceless %}
|
||||
|
||||
{% if oViewConf.isGtmConsentModeSetActivated() %}
|
||||
<script type="text/javascript">
|
||||
{% if oViewConf.d3IsUsercentricsCMPChosen() and oViewConf.d3GetModuleConfigParam('_blEnableMeasurementCapabilities') %}
|
||||
{{ oViewConf.d3GetModuleConfigParam('_sMeasurementCapabilities')|strip }}
|
||||
{% else %}
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag("consent", "default", {
|
||||
ad_user_data: "denied",
|
||||
ad_personalization: "denied",
|
||||
ad_storage: "denied",
|
||||
analytics_storage: "denied",
|
||||
wait_for_update: 2000
|
||||
});
|
||||
{% endif %}
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{% if oViewConf.d3IsUsercentricsCMPChosen() and oViewConf.d3GetModuleConfigParam('_blEnableUsercentricsConsentModeApi') %}
|
||||
<script type="text/javascript">
|
||||
{{ oViewConf.d3GetModuleConfigParam('_sUsercentricsConsentModeApi')|strip }}
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script {{ oViewConf.getGtmScriptAttributes() }}>
|
||||
(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
|
||||
var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
|
||||
j.async = true;
|
||||
j.src = '{{ oViewConf.getServerSidetaggingJsDomain() }}?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', '{{ d3GtmContainerIdString }}');
|
||||
</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
{% endspaceless %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{{ parent() }}
|
@ -0,0 +1,12 @@
|
||||
{% if oViewConf.D3blShowGtmScript() %}
|
||||
{% if oViewConf.getGtmContainerId() %}{% spaceless %}
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript>
|
||||
<iframe src="{{ oViewConf.getServerSidetaggingNoJsDomain() }}?id={{ oViewConf.getGtmContainerId() }}"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe>
|
||||
</noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
{% endspaceless %}{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{{ parent() }}
|
@ -0,0 +1,18 @@
|
||||
{% capture append = "oxidBlock_content" %}
|
||||
{% set template_title = "MY_WISH_LIST"|translate %}
|
||||
<h1 class="page-header">{{ translate({ ident: "MY_WISH_LIST" }) }}</h1>
|
||||
|
||||
{% if oView.getNoticeProductList() %}
|
||||
{% include "widget/product/list.html.twig" with {type: "line", listId: "noticelistProductList", title: "", products: oView.getNoticeProductList(), removeFunction: "tonoticelist", owishid: oxcmp_user.oxuser__oxid.value} %}
|
||||
{% else %}
|
||||
<p class="alert alert-info">{{ translate({ ident: "WISH_LIST_EMPTY" }) }}</p>
|
||||
{% endif %}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
||||
|
||||
{{ insert_tracker({title: template_title}) }}
|
||||
{% endcapture %}
|
||||
{% capture append = "oxidBlock_sidebar" %}
|
||||
{% include "page/account/inc/account_menu.html.twig" with {active_link: "noticelist"} %}
|
||||
{% endcapture %}
|
||||
{% include "layout/page.html.twig" with {sidebar: "Left"} %}
|
@ -0,0 +1,32 @@
|
||||
{% capture append = "oxidBlock_content" %}
|
||||
{% set template_title = "LISTMANIA"|translate %}
|
||||
{% set _actvrecommlist = oView.getActiveRecommList() %}
|
||||
|
||||
<h1 class="page-header">{{ translate({ ident: "LISTMANIA" }) }}</h1>
|
||||
|
||||
{% if oView.isSavedList() %}
|
||||
{% set _statusMessage = "LISTMANIA_LIST_SAVED"|translate %}
|
||||
{% include "message/success.html.twig" with {statusMessage: _statusMessage} %}
|
||||
{% endif %}
|
||||
|
||||
{% block account_redommendationlist_content %}
|
||||
|
||||
{% include "form/recommendation_edit.html.twig" with {actvrecommlist: _actvrecommlist} %}
|
||||
|
||||
<hr>
|
||||
|
||||
{% if not oView.getActiveRecommList() %}
|
||||
{% set blEdit = true %}
|
||||
{% include "page/recommendations/inc/list.html.twig" %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
||||
|
||||
{{ insert_tracker({title: template_title}) }}
|
||||
{% endcapture %}
|
||||
{% capture append = "oxidBlock_sidebar" %}
|
||||
{% include "page/account/inc/account_menu.html.twig" with {active_link: "recommendationlist"} %}
|
||||
{% endcapture %}
|
||||
{% include "layout/page.html.twig" with {sidebar: "Left"} %}
|
||||
|
@ -0,0 +1,44 @@
|
||||
{% capture append = "oxidBlock_content" %}
|
||||
{% set template_title = "MY_GIFT_REGISTRY"|translate %}
|
||||
{% if not oView.getWishListUsers() and oView.getWishListSearchParam() %}
|
||||
{% set _statusMessage = "MESSAGE_SORRY_NO_GIFT_REGISTRY"|translate %}
|
||||
{% include "message/error.html.twig" with {statusMessage: _statusMessage} %}
|
||||
{% endif %}
|
||||
{% set editval = oView.getEnteredData() %}
|
||||
{% if oView.isWishListEmailSent() %}
|
||||
{% set _statusMessage = "GIFT_REGISTRY_SENT_SUCCESSFULLY"|translate(editval.rec_email) %}
|
||||
{% include "message/notice.html.twig" with {statusMessage: _statusMessage} %}
|
||||
{% endif %}
|
||||
|
||||
<h1 class="page-header">{{ oView.getTitle() }}</h1>
|
||||
|
||||
<div class="wishlist-search">
|
||||
{% include "form/wishlist_search.html.twig" with {searchClass: "account_wishlist"} %}
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="wishlist">
|
||||
{% if oView.getWishList() %}
|
||||
{% include "form/wishlist_publish.html.twig" %}
|
||||
<hr>
|
||||
{% include "form/wishlist_suggest.html.twig" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if oView.getWishList() %}
|
||||
{% include "widget/product/list.html.twig" with {type: "line", listId: "wishlistProductList", title: "", products: oView.getWishProductList(), removeFunction: "towishlist", toBasketFunction: "tobasket", owishid: oxcmp_user.oxuser__oxid.value} %}
|
||||
{% else %}
|
||||
<p class="alert alert-info">
|
||||
{{ translate({ ident: "GIFT_REGISTRY_EMPTY" }) }}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
||||
|
||||
{{ insert_tracker({title: template_title}) }}
|
||||
{% endcapture %}
|
||||
{% capture append = "oxidBlock_sidebar" %}
|
||||
{% include "page/account/inc/account_menu.html.twig" with {active_link: "wishlist"} %}
|
||||
{% endcapture %}
|
||||
{% include "layout/page.html.twig" with {sidebar: "Left"} %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/add_payment_info.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/begin_checkout.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/purchase.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/remove_from_cart.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/view_cart.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/view_item.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/view_item_list.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include "@d3googleanalytics4/event/view_search_result.html.twig" %}
|
@ -0,0 +1,3 @@
|
||||
{{ parent() }}
|
||||
|
||||
{% include '@d3googleanalytics4/event/add_to_cart.html.twig' with {htmlIdAmountOfArticles: '#amountToBasket'} %}
|
Reference in New Issue
Block a user