From d84f7b64a97d71ddd2182a2a4777bbca7c9e09a4 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:33:45 +0200 Subject: [PATCH 1/9] [Fixed] lang files admin-list --- .../views/de/d3googleanalytics4_lang.php | 128 +----------------- menu.xml | 6 +- 2 files changed, 7 insertions(+), 127 deletions(-) diff --git a/Application/views/de/d3googleanalytics4_lang.php b/Application/views/de/d3googleanalytics4_lang.php index 793ba4a..3b3a0cc 100644 --- a/Application/views/de/d3googleanalytics4_lang.php +++ b/Application/views/de/d3googleanalytics4_lang.php @@ -1,131 +1,11 @@ 'UTF-8', - 'd3mxd3modules' => $aLangCache['d3mxd3modules'] ?? 'Google Analytics 4', - 'd3mxgoogleanalytics4' => 'Google Analytics 4', - 'd3mxgoogleanalytics4set' => 'Einstellungen', - - // Base Translations - 'D3BASECONFIG' => 'Grundeinstellungen', - 'D3CLOSE' => 'Schließen', - 'D3NONE' => '- keinen -', - 'D3CONTAINERID' => 'Container-ID', - 'D3CONTAINERID_HELP' => ' Was ist die Container-ID?', - 'D3ACTIVATEMOD' => 'Modul aktivieren', - 'D3CNTRLPARAM' => 'Steuerungsparameter', - 'D3CNTRLPARAM_HELP' => ' Was ist der Steuerungsparameter?', - 'D3INACTIVATEMOD' => 'Modul ist nicht aktiv! Es werden keine Funktionen ausgespielt!', - // Usercentrics Dynamische Optionen - 'D3USRCNTRCSDYNOPT' => 'Usercentrics Dynamische Optionen', - - // Use debug mode? - 'D3USEDEBUGMODE' => "Debug-Modus aktivieren", - 'D3USEDEBUGMODE_HELP' => "Der Debug Modus setzt an alle DataLayer ( also Daten Sammlungen im Frontend ) - 'debug_mode': 'true' und ermöglicht im Google Tag Manager selbst ein detaillierteres - Auswerten des einfließenden Datenstroms.", - - // Use Consentmode? - 'D3USEGOOGLECONSENTMODE' => "Google Consent Mode 'Default Values' akivieren", - 'D3USEGOOGLECONSENTMODE_HELP' => "Der Consent Mode 'Default Values' setzt im Frontend, - vor jedem Sammeln und Senden von Daten, einen Befehl der die Bearbeitung der Daten fortlaufend verändert.
-
- Diese Veränderte Berarbeitung heißt im Detail, dass der Google Tag Manager ( GTM ) - bzw. in erster Instanz die Consent Management Platform ( CMP ) keine Daten zur Verarbeitung an Google sendet, - bis ein entsprechendes Zustimmungs-Signal vom Kunden explizit erteilt wurde.
- Die CMP ist sogar derartig restriktiv, dass diese den Datenstrom zum GTM ( Vorinstanz zu Google Analytics ) - völlig verhindert, solange keine Zustimmung erteilt wurde.
-
- Ein einfaches anschalten dieser Funktion regelt noch nicht die völlige Funktionsweise - aller beteiligten Instanzen; diese bedarf eine detailliertere Konfiguration!
", - - // Use CMP? - 'D3CMPTABTITLE' => 'Cookie Manager Einstellungen', - 'D3CMPUSEQ' => 'Consent Management Platform ( CMP ) nutzen?', - 'D3CMPUSEQ_HELP' => '"Eine Consent Management Platform ( CMP ) ist eine Software, mit der Website-Betreiber - oder Anbieter von Web-Apps über ein Banner oder ein Pop-up eine datenschutzrechtliche - Einwilligung der Besucher einholen und speichern, bevor Nutzerdaten über - Website-Skripte erfasst werden (Tracking)." Wikipedia Beschreibung
-
- Um Google Analytics 4 ( Google Analytics ) weiterhin nutzen zu können, - und dank fortschreitendem Datenschutz unserer personenbezogener Daten, ist das Nutzen eines konformen CMP - heute zwangläufig nötig.
-
- Diese konformen CMP sind in - offizieller Partnerschaft mit Google ( Liste der Partner ) - und unterliegen strengen Vorschriften, um ein ordnungsgemäßes Senden und - Verarbeiten der Zustimmung unterliegenden Daten sicher stellen zu können.', - 'D3CMP' => 'Consent Management Platform ( CMP ) wählen', - - // Usercentrics Config - // activate Individual Default Values - 'D3USRCNTRCSCFG_ACT_INDIVDEFVAL' => "Usercentrics individual 'Default Values' aktiveren", - // standard Consent - 'D3USRCNTRCSCFG_STD_CNST' => "GTM Standard Consent", - // activate consent mode API - 'D3USRCNTRCSCFG_ACT_CNSTMDE_API' => "Usercentrics Consent Mode API aktivieren", - // consent mode api - 'D3USRCNTRCSCFG_CNSTMDE_API' => "Consent Mode API", - 'D3USRCNTRCSCFG_DOCS' => 'Nähere Infos zu den hier konfigurierbaren Einstellungen entnehmen Sie bitte der offiziellen - Dokumentation von Usercentrics selbst: Dokumentation', - 'D3USRCNTRCSCFG_WARNING' => "Bevor Sie hier Anpassungen machen, konsultieren Sie bitte einen technischen Support!
- Anpassungen können zu Beeinträchtigungen und Ausfall von Funktionen im Frontend führen!", - - // Additional Config - // Server-Side tagging - 'D3SERVERSIDETAGGING' => 'Server-Side tagging', - 'D3DETAILED_DESC' => 'Detailliertere Erklärung der Funktion', - 'D3SERVERSIDETAGGING_HINT' => 'Die Conatiner-ID wird weiterhin unter "Grundeinstellungen" eingetragen!

- "Serverseitiges Tagging ist eine neue Möglichkeit, mit Google Tag Manager Ihre Anwendung geräteübergreifend zu verwalten.
- Servercontainer verwenden dasselbe Tag-, Trigger- und Variablenmodell, das Sie gewohnt sind.
- Außerdem bieten sie neue Tools, mit denen Sie Nutzeraktivitäten überall messen können."
-
- - Quelle Developers-Google Server-Side tagging
-
- Verändern Sie die Werte nur, wenn Sie Server-Side tagging verwenden wollen! Gegebenenfalls fragen Sie einen technischen Ansprechpartner. - ', - 'D3SERVERSIDETAGGING_TITLE_ACTIVE' => 'Ausführender code', - 'D3SERVERSIDETAGGING_ACTIVE' => 'Diese Domain wird im aktiven-code ausgefüht. Das heißt, - dass es sich hierbei um das HTML-Tag script handelt. - Dieses kümmert sich darum, dass die im DataLayer - zusammengefassten Daten an den GTM weitergeleitet werden.
-
-

Folgend eine Darstellung, was genau ausgetauscht wird

-
-
-Vorher:
-https://www.googletagmanager.com/gtm.js?id=
-
-Nachher:
-{Domain}?id=
-
-                                                                        
', - 'D3SERVERSIDETAGGING_TITLE_PASSIVE' => 'nicht Ausführneder code', - 'D3SERVERSIDETAGGING_PASSIVE' => 'Diese Domain wird im passiven-code ausgefüht. Das heißt, - dass es sich hierbei um das HTML-Tag noscript handelt. - Dieses wird ausgeführt, wenn aus einem bestimmten Grund - das Javascript nicht ausgeführt wird.
- ( keine Cookies erlaubt, JavaScript-Unterbindung, ... ) -
-

Folgend eine Darstellung, was genau ausgetauscht wird

-
-
-Vorher:
-src="https://www.googletagmanager.com/ns.html?id={Container-ID}"
-
-Nachher:
-src="{Domain}?id={Container-ID}"
-
-                                                                        
', - - // Admin - Module - 'd3mxgoogleanalytics4' => 'Google Analytics 4', - 'd3mxgoogleanalytics4set' => 'Einstellungen', + 'D3MXDMODULES' => $aLangCache['d3mxd3modules'] ?? 'Google Analytics 4', + 'D3MXGOOGLEANALYTICS4' => 'Google Analytics 4', + 'D3MXGOOGLEANALYTICS4SET' => 'Einstellungen', // Base Translations 'D3BASECONFIG' => 'Grundeinstellungen', diff --git a/menu.xml b/menu.xml index 9096fa4..840d5d6 100644 --- a/menu.xml +++ b/menu.xml @@ -1,8 +1,8 @@ - - - + + + \ No newline at end of file From b4e284ef49ead6c1eca48ea179a3f7cfead03848 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:34:00 +0200 Subject: [PATCH 2/9] [Reverted] file-content --- views/twig/admin/d3ga4uiheaditem.html.twig | 109 ++++++++++++++++++++- views/twig/admin/d3ga4uimain.html.twig | 109 ++++++++++++++++++++- 2 files changed, 216 insertions(+), 2 deletions(-) diff --git a/views/twig/admin/d3ga4uiheaditem.html.twig b/views/twig/admin/d3ga4uiheaditem.html.twig index 0db41ab..2d56cb8 100644 --- a/views/twig/admin/d3ga4uiheaditem.html.twig +++ b/views/twig/admin/d3ga4uiheaditem.html.twig @@ -1 +1,108 @@ -head! \ No newline at end of file + + + + {{ title }} + + {% if isset(meta_refresh_sec, meta_refresh_url) %} + + {% endif %} + + + {% block admin_headitem_inccss %} + + + + {% endblock %} + + {% block admin_headitem_incjs %} + + + + {% endblock %} + + {% block admin_headitem_js %} + + {% endblock %} + + + +{% include "tooltips.html.twig" %} +
+ +
+ {% include "inc_error.html.twig" with {Errorlist: Errors.default} %} + + +
+
+
\ No newline at end of file diff --git a/views/twig/admin/d3ga4uimain.html.twig b/views/twig/admin/d3ga4uimain.html.twig index 0299233..2d56cb8 100644 --- a/views/twig/admin/d3ga4uimain.html.twig +++ b/views/twig/admin/d3ga4uimain.html.twig @@ -1 +1,108 @@ -main! \ No newline at end of file + + + + {{ title }} + + {% if isset(meta_refresh_sec, meta_refresh_url) %} + + {% endif %} + + + {% block admin_headitem_inccss %} + + + + {% endblock %} + + {% block admin_headitem_incjs %} + + + + {% endblock %} + + {% block admin_headitem_js %} + + {% endblock %} + + + +{% include "tooltips.html.twig" %} +
+ +
+ {% include "inc_error.html.twig" with {Errorlist: Errors.default} %} + + +
+
+
\ No newline at end of file From 12a3e6c8d1c281d7771b45abd5d293a447dfa1ce Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:34:16 +0200 Subject: [PATCH 3/9] [Fixed] wrong twig-modifier --- views/twig/extensions/themes/default/layout/base.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/twig/extensions/themes/default/layout/base.html.twig b/views/twig/extensions/themes/default/layout/base.html.twig index ce67e58..31cded1 100644 --- a/views/twig/extensions/themes/default/layout/base.html.twig +++ b/views/twig/extensions/themes/default/layout/base.html.twig @@ -15,7 +15,7 @@ {% if oViewConf.isGtmConsentModeSetActivated() %} {% endif %} From 4f3961c652ff943f9a8495c432915c324986e065 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:46:15 +0200 Subject: [PATCH 4/9] [Fixed] wrong twig-modifier --- views/twig/admin/d3ga4uimain.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/twig/admin/d3ga4uimain.html.twig b/views/twig/admin/d3ga4uimain.html.twig index 2d56cb8..cc0f85f 100644 --- a/views/twig/admin/d3ga4uimain.html.twig +++ b/views/twig/admin/d3ga4uimain.html.twig @@ -4,7 +4,7 @@ {{ title }} {% if isset(meta_refresh_sec, meta_refresh_url) %} - + {% endif %} @@ -42,7 +42,7 @@ var ajaxpopup = null; function showDialog( sParams ) { - ajaxpopup = window.open('{{ oViewConf.getSelfLink()|replace("&", "&") }}'+sParams, 'ajaxpopup', 'width=850,height=680,scrollbars=yes,resizable=yes'); + ajaxpopup = window.open('{{ oViewConf.getSelfLink()|replace({"&": "&"})}}'+sParams, 'ajaxpopup', 'width=850,height=680,scrollbars=yes,resizable=yes'); } function focusPopup() From 6d81a788d5c37af4eff831e84a58024a29cbf59d Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:50:48 +0200 Subject: [PATCH 5/9] [Fixed] wrong twig-modifier --- views/twig/admin/d3ga4uiheaditem.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/twig/admin/d3ga4uiheaditem.html.twig b/views/twig/admin/d3ga4uiheaditem.html.twig index 2d56cb8..84f067f 100644 --- a/views/twig/admin/d3ga4uiheaditem.html.twig +++ b/views/twig/admin/d3ga4uiheaditem.html.twig @@ -4,7 +4,7 @@ {{ title }} {% if isset(meta_refresh_sec, meta_refresh_url) %} - + {% endif %} @@ -42,7 +42,7 @@ var ajaxpopup = null; function showDialog( sParams ) { - ajaxpopup = window.open('{{ oViewConf.getSelfLink()|replace("&", "&") }}'+sParams, 'ajaxpopup', 'width=850,height=680,scrollbars=yes,resizable=yes'); + ajaxpopup = window.open('{{ oViewConf.getSelfLink()|replace({"&": "&"}) }}'+sParams, 'ajaxpopup', 'width=850,height=680,scrollbars=yes,resizable=yes'); } function focusPopup() From 959f535e280ba079c183f4b02f272b5bb282180a Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 10:51:02 +0200 Subject: [PATCH 6/9] [Reverted] original twig-content --- views/twig/admin/d3ga4uimain.html.twig | 289 ++++++++++++++++--------- 1 file changed, 189 insertions(+), 100 deletions(-) diff --git a/views/twig/admin/d3ga4uimain.html.twig b/views/twig/admin/d3ga4uimain.html.twig index cc0f85f..2778aa9 100644 --- a/views/twig/admin/d3ga4uimain.html.twig +++ b/views/twig/admin/d3ga4uimain.html.twig @@ -1,108 +1,197 @@ - - - - {{ title }} - - {% if isset(meta_refresh_sec, meta_refresh_url) %} - - {% endif %} - +{% include "@d3googleanalytics4/admin/d3ga4uiheaditem.html.twig" with {title: "GENERAL_ADMIN_TITLE"|translate} %} + - {% block admin_headitem_inccss %} - - - - {% endblock %} + + + - {% block admin_headitem_incjs %} - - - - {% endblock %} +{% if readonly %} + {% set readonly = "readonly disabled" %} +{% else %} + {% set readonly = "" %} +{% endif %} - {% block admin_headitem_js %} - - {% endblock %} - - - -{% include "tooltips.html.twig" %} -
- -
- {% include "inc_error.html.twig" with {Errorlist: Errors.default} %} - - -
-
-
\ No newline at end of file +
+ + +
+
+ {{ translate({ ident: "D3USRCNTRCSCFG_CNSTMDE_API" }) }} + +
+
+ +
+
+ {% endif %} + + + + + + \ No newline at end of file From 6287da7f181f77b19097f477467256ea156ab71e Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 11:00:20 +0200 Subject: [PATCH 7/9] [Fixed] missing |raw modifier --- views/twig/admin/d3ga4uimain.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/twig/admin/d3ga4uimain.html.twig b/views/twig/admin/d3ga4uimain.html.twig index 2778aa9..a47d6b3 100644 --- a/views/twig/admin/d3ga4uimain.html.twig +++ b/views/twig/admin/d3ga4uimain.html.twig @@ -19,7 +19,7 @@
- {{ oViewConf.getHiddenSid() }} + {{ oViewConf.getHiddenSid()|raw }} From ed6d43b220fc41d52e2d73b00cb4190b0d68e80b Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 14:20:55 +0200 Subject: [PATCH 8/9] [Fixed] twig keywords --- views/twig/event/view_item.html.twig | 2 +- views/twig/extensions/themes/default/layout/base.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/views/twig/event/view_item.html.twig b/views/twig/event/view_item.html.twig index 4338bf8..b5b2881 100644 --- a/views/twig/event/view_item.html.twig +++ b/views/twig/event/view_item.html.twig @@ -4,7 +4,7 @@ {% block d3_ga4_view_item_block %} {% set d3_ga4_view_item %} - {% spaceless %} + {% apply spaceless %} dataLayer.push({"event": null, "eventLabel": null, "ecommerce": null}); /* Clear the previous ecommerce object. */ dataLayer.push({ diff --git a/views/twig/extensions/themes/default/layout/base.html.twig b/views/twig/extensions/themes/default/layout/base.html.twig index 31cded1..3a51d0a 100644 --- a/views/twig/extensions/themes/default/layout/base.html.twig +++ b/views/twig/extensions/themes/default/layout/base.html.twig @@ -5,7 +5,7 @@ {% if oViewConf.isGA4enabled() %} {% set d3GtmContainerIdString = oViewConf.getGtmContainerId() %} {% endif %} From 2dfa611a2ff7a27d4cfff4945acfba924628d516 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 13 Jun 2025 14:44:53 +0200 Subject: [PATCH 9/9] [Fixed] twig --- views/twig/event/view_item_list.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/twig/event/view_item_list.html.twig b/views/twig/event/view_item_list.html.twig index 685c002..530e737 100644 --- a/views/twig/event/view_item_list.html.twig +++ b/views/twig/event/view_item_list.html.twig @@ -13,7 +13,7 @@ '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 %}', + '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() %}