From 306af0f7bd21b4db93703651670f9aa0907e7e93 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 20 Jan 2023 14:32:00 +0100 Subject: [PATCH 01/14] add shop-block description to readme --- README.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b7a7ea6..b2a0269 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Sofern nötig, bestätigen Sie bitte, dass Sie `package-name` erlauben, Code aus Aktivieren Sie das Modul im Shopadmin unter "Erweiterungen -> Module". ## Verwendung - +### Grundfunktionalität Nach erfolgreicher Installation finden Sie in Ihrem Shop-Admin unter "Erweiterungen > Module" den Eintrag 'Google Analytics 4'. Aktivieren Sie dieses Modul, um die Funktionalitäten nutzen zu können. @@ -58,6 +58,33 @@ Tragen Sie die nötige sog. 'Container ID' ein. Diese sieht in etwa so aus: 'GTM Aktivieren Sie GA4 selbst, indem Sie dieses direkt darunter anhaken. +### Blöcke +Für den geregelten Ablauf sind folgende Blöcke nötig: +- Suchergebnisse + - Blockname: search_results + - Datei: page/search/search.tpl + - GA4 Event: view_search_results +- Artikelliste + - Blockname: d3Ga4_view_item_list (muss hinzugefügt werden) + - Datei: widget/product/list.tpl + - GA4 Event: view_item_list +- Detailseite + - Blockname: details_productmain_title + - Datei: page/details/inc/productmain.tpl + - GA4 Event: view_item +- dem WK hinzufügen (button) + - Blockname: details_productmain_tobasket + - Datei: page/details/inc/productmain.tpl + - GA4 Event: add_to_cart +- Warenkorb + - Blockname: checkout_basket_main + - Datei: page/checkout/basket.tpl + - GA4 Event: view_cart +- abgeschlossener Kauf + - Blockname: checkout_thankyou_main + - Datei: page/checkout/thankyou.tpl + - GA4 Event: purchase + --- Sie nutzen einen eigenen, als Modul im Shop installierten, Cookie-manager? Dann tragen Sie in den Folgeeinstellungen From 00f76d99088a9a277ba49c62efff60d107c97582 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Wed, 25 Jan 2023 10:39:23 +0100 Subject: [PATCH 02/14] extend changelog and readme --- CHANGELOG.md | 25 ++------------------ README.md | 18 ++++++++++++++ __README.md | 67 ---------------------------------------------------- 3 files changed, 20 insertions(+), 90 deletions(-) delete mode 100644 __README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ff37b2..fa49fe7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,27 +4,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased](https://git.d3data.de/D3Public/MyModule/compare/1.1.0.0...rel_1.x) - -## [1.1.0.0](https://git.d3data.de/D3Public/MyModule/compare/1.0.0.0...1.1.0.0) - 2022-07-26 +## [1.0.0.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.0.0.0...1.1.0.0) - 2022-07-26 ### Added -- another feature - -### Changed -- changed old code - -### Deprecated -- ... - -### Removed -- ... - -### Fixed -- ... - -### Security -- ... - -## [1.0.0.0](https://git.d3data.de/D3Public/MyModule/releases/tag/1.0.0.0) - 2022-07-25 -### Added -- implemented features \ No newline at end of file +- publication of app features \ No newline at end of file diff --git a/README.md b/README.md index b2a0269..c486d35 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,12 @@ Tragen Sie die nötige sog. 'Container ID' ein. Diese sieht in etwa so aus: 'GTM Aktivieren Sie GA4 selbst, indem Sie dieses direkt darunter anhaken. +### GA4 Events / Customizing +Für alle implementierten GA4 Events existieren Templates unter `source/modules/d3/googleanalytics4/Application/views/ga4/`, dabei entspricht der Dateiname dem Eventnamen in GA4. +Die Einbindung dieser Event-Templates erfolgt über TPL-Blöcke unter `source/modules/d3/googleanalytics4/Application/views/blocks/`. +*Hinweis: nicht alle templates sind bereits gefüllt. Wünschen Sie die Implementierung eines unausgefüllten templates? +Kommen Sie auf uns zu unter https://www.d3data.de/ + ### Blöcke Für den geregelten Ablauf sind folgende Blöcke nötig: - Suchergebnisse @@ -85,6 +91,18 @@ Für den geregelten Ablauf sind folgende Blöcke nötig: - Datei: page/checkout/thankyou.tpl - GA4 Event: purchase +### Verfügbare Datalayer Variablen +Für die einfachste Übersicht der enthaltenen Daten empfehle ich den Vorschau-Modus vom Google Tag Manager. + +Bei jedem Seitenaufruf wird die Datenschicht mit einigen wenigen Infos erstellt, die man zum reinen Erfassen der Seitenaufrufe benötigt: ++ **page.type** - Seitentyp: default / cms / product / listing / checkout (an google analytics angelehnt) ++ **page.title** - Seitentitel (außer Startseite, sie hat keinen Titel) ++ **page.cl** - OXID Controller Klasse (start, search, etc) ++ **userid** - oxId vom Benutzer bzw `false` falls nicht eingeloggt ++ **sessionid** - session iD + +Alle für Ecommerce Tracking relevanten Daten werden mit speziellen Ecommerce Events in die Datenschicht eingefügt. + --- Sie nutzen einen eigenen, als Modul im Shop installierten, Cookie-manager? Dann tragen Sie in den Folgeeinstellungen diff --git a/__README.md b/__README.md deleted file mode 100644 index dadb102..0000000 --- a/__README.md +++ /dev/null @@ -1,67 +0,0 @@ -# [D3] Google Tag Manager -Google Tag Manager integration for OXID eShop v6.x - -## Installation -* ``composer require vanilla-thunder/oxid-module-gtm --no-update`` -* Modul aktivieren und Moduleinstellungen konfigurieren - -## Tag Manager konfigurieren: -+ https://support.google.com/tagmanager/answer/9442095 - -## Google Analytics 4 Einrichtung - -## GA4 Events / Customizing -für alle implementierten GA4 Events existieren Templates unter `source/modules/GoogleTagManager/Application/views/ga4/`, dabei entspricht der Dateiname dem Eventnamen in GA4. -Die Einbindung dieser Event-Templates erfolgt über TPL-Blöcke unter `source/modules/GoogleTagManager/Application/views/blocks/`. - -### aktuell zu beachtende Blöcke -- Suchergebnisse: search_results -- (muss hinzugefügt werden) aList: d3Ga4_view_item_list -- Detailseite: details_productmain_title -- add_to_basket-button: details_productmain_tobasket -- Warenkorb: checkout_basket_main -- Purchase | abgeschlossener Kauf: checkout_thankyou_main - -## Universal Analytics Events - -**"EE-Trigger" für Ecomemrce-Tags (Beispiel für Google Tag Manager):** -+ Triggertyp: Benutzerdefiniertes Ereignis -+ Ereignisname: ``ee\..*`` -+ Übereinstimmung mit regulärem Ausdruck verwenden -+ Diesen Trigger auslösen bei: Alle benutzerdefinierten Ereignisse - -**"EE-Tag" für Google Analytics Enhanced Ecommerce:** -+ Tag-Typ: Google Analytics - Universal Analytics -+ Tracking-Typ: Ereignis -+ Aktion: {{Event}} -+ Label: {{Event Label}} -+ Trigger : EE-Trigger - -## Verfügbare Datalayer Variablen -Für die einfachste Übersicht der enthaltenen Daten empfehle ich den Vorschau-Modus vom Google Tag Manager. - -Bei jedem Seitenaufruf wird die Datenschicht mit einigen wenigen Infos erstellt, die man zum reinen Erfassen der Seitenaufrufe benötigt: - + **page.type** - Seitentyp: default / cms / product / listing / checkout (an google analytics angelehnt) - + **page.title** - Seitentitel (außer Startseite, sie hat keinen Titel. Danke OXID...) - + **page.cl** - OXID Controller Klasse (start, search, etc) - + **userid** - oxID vom Benutzer bzw `false` falls nicht eingeloggt - + **sessionid** - session iD - -Alle für Ecommerce Tracking releavanten Daten werden mit speziellen Ecommerce Events in die Datenschicht eingefügt. -Hier ist ein Beispiel für die Einrichtung von Enhanced Ecomemrce Tracking über Google Tag Manager: - - - - -### LICENSE AGREEMENT - [vt] google-tag-manager - Copyright (C) 2021 Marat Bedoev - info: info@mb-dev.pro oder so /** @todo: überarbeiten, wenn ich wieder nüchtern bin */ - - This program is free software; - you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; - either version 3 of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; - without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with this program; if not, see \ No newline at end of file From 4f73f1808074b797fe0eca6eeea1bb8446d8f87e Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Wed, 25 Jan 2023 11:01:02 +0100 Subject: [PATCH 03/14] fix wrong changelog comparisons --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa49fe7..ce8f745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.0.0.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.0.0.0...1.1.0.0) - 2022-07-26 +## [1.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.0...1.0) - 2023-01-20 ### Added - publication of app features \ No newline at end of file From 120c765d0cc0147d65ce8af680bae7561939d074 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Wed, 25 Jan 2023 14:30:59 +0100 Subject: [PATCH 04/14] rather using basket_component to get formatted price --- Application/views/blocks/checkout_s1.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/views/blocks/checkout_s1.tpl b/Application/views/blocks/checkout_s1.tpl index 12cab6b..79bfee6 100644 --- a/Application/views/blocks/checkout_s1.tpl +++ b/Application/views/blocks/checkout_s1.tpl @@ -11,7 +11,7 @@ 'ecommerce': { 'actionField': "step: 1", 'currency': "[{$currency->name}]", - 'value': [{$oxcmp_basket->getBruttoSum()}], + 'value': [{oxprice price=$oxcmp_basket->getPrice()}], 'items': [ [{foreach from=$oxcmp_basket->getContents() item=basketitem name=gtmCartContents key=basketindex}] [{assign var='_price' value=$basketitem->getUnitPrice()}] From 6a0fb759e14143c8c8f551e5a6dc633445b3789a Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Wed, 25 Jan 2023 14:32:22 +0100 Subject: [PATCH 05/14] add block to add_to_basket for indiv handling --- Application/views/ga4/add_to_cart.tpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Application/views/ga4/add_to_cart.tpl b/Application/views/ga4/add_to_cart.tpl index 37316b1..83062ec 100644 --- a/Application/views/ga4/add_to_cart.tpl +++ b/Application/views/ga4/add_to_cart.tpl @@ -3,6 +3,7 @@ [{*$gtmProduct|get_class_methods|dumpvar*}] [{capture assign=d3_ga4_add_to_cart}] +[{block name="d3_ga4_add_to_basket"}] $("#toBasket").click(function(event) { [{*event.preventDefault();*}] @@ -38,7 +39,7 @@ } }); }); - +[{/block}] [{/capture}] [{oxscript add=$d3_ga4_add_to_cart}] From cecbc0dec8ea39085a97f852a71d6b8bce97f1d1 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Thu, 26 Jan 2023 09:09:09 +0100 Subject: [PATCH 06/14] adding tech-docs; rm unnecessary sections in readme; fixing wrong links --- Docs/README.md | 51 +++++++++++++++++++++++++++++++++++++ README.md | 69 +++++++------------------------------------------- metadata.php | 3 ++- 3 files changed, 62 insertions(+), 61 deletions(-) create mode 100644 Docs/README.md diff --git a/Docs/README.md b/Docs/README.md new file mode 100644 index 0000000..b526a3b --- /dev/null +++ b/Docs/README.md @@ -0,0 +1,51 @@ +## Technische Doku +### GA4 Events / Customizing +Für alle implementierten GA4 Events existieren Templates unter `source/modules/d3/googleanalytics4/Application/views/ga4/`, dabei entspricht der Dateiname dem Eventnamen in GA4. +Die Einbindung dieser Event-Templates erfolgt über TPL-Blöcke unter `source/modules/d3/googleanalytics4/Application/views/blocks/`. +*Hinweis: nicht alle templates sind bereits gefüllt. Wünschen Sie die Implementierung eines unausgefüllten templates? +Kommen Sie auf uns zu unter https://www.d3data.de/ + +### Blöcke +Für den geregelten Ablauf sind folgende Blöcke nötig: +- Suchergebnisse + - Blockname: search_results + - Datei: page/search/search.tpl + - GA4 Event: view_search_results +- Artikelliste + - Blockname: d3Ga4_view_item_list (muss hinzugefügt werden) + - Datei: widget/product/list.tpl + - GA4 Event: view_item_list +- Detailseite + - Blockname: details_productmain_title + - Datei: page/details/inc/productmain.tpl + - GA4 Event: view_item +- dem WK hinzufügen (button) + - Blockname: details_productmain_tobasket + - Datei: page/details/inc/productmain.tpl + - GA4 Event: add_to_cart +- Warenkorb + - Blockname: checkout_basket_main + - Datei: page/checkout/basket.tpl + - GA4 Event: view_cart +- abgeschlossener Kauf + - Blockname: checkout_thankyou_main + - Datei: page/checkout/thankyou.tpl + - GA4 Event: purchase + +### Verfügbare Datalayer Variablen +Für die einfachste Übersicht der enthaltenen Daten empfehle ich den Vorschau-Modus vom Google Tag Manager. + +Bei jedem Seitenaufruf wird die Datenschicht mit einigen wenigen Infos erstellt, die man zum reinen Erfassen der Seitenaufrufe benötigt: ++ **page.type** - Seitentyp: default / cms / product / listing / checkout (an google analytics angelehnt) ++ **page.title** - Seitentitel (außer Startseite, sie hat keinen Titel) ++ **page.cl** - OXID Controller Klasse (start, search, etc) ++ **userid** - oxId vom Benutzer bzw `false` falls nicht eingeloggt ++ **sessionid** - session iD + +Alle für Ecommerce Tracking relevanten Daten werden mit speziellen Ecommerce Events in die Datenschicht eingefügt. + +### Cookie-Handling +Sie nutzen einen eigenen, als Modul im Shop installierten, Cookie-manager? +Dann tragen Sie in den Folgeeinstellungen unter "Cookie Manager Einstellungen", +die Cookie-ID des zugehörigen Cookies ein. Und aktivieren Sie diese Weiche, +indem Sie den Haken bei "Eigenen Cookie Manager nutzen?" setzen. \ No newline at end of file diff --git a/README.md b/README.md index c486d35..a1c31dd 100644 --- a/README.md +++ b/README.md @@ -24,15 +24,7 @@ Bitte tragen Sie den folgenden Abschnitt in die `composer.json` Ihres Projektes ``` "extra": { - "oxideshop": { - "blacklist-filter": [ - "*.md", - "composer.json", - ".php-cs-fixer.php", - "*.xml", - "*.neon" - ], - "target-directory": "d3/googleanalytics" + optionale Anweisungen von 3rd-Party-Packages (z.B. Patch- oder Symlink-Anweisungen) } ``` @@ -58,57 +50,11 @@ Tragen Sie die nötige sog. 'Container ID' ein. Diese sieht in etwa so aus: 'GTM Aktivieren Sie GA4 selbst, indem Sie dieses direkt darunter anhaken. -### GA4 Events / Customizing -Für alle implementierten GA4 Events existieren Templates unter `source/modules/d3/googleanalytics4/Application/views/ga4/`, dabei entspricht der Dateiname dem Eventnamen in GA4. -Die Einbindung dieser Event-Templates erfolgt über TPL-Blöcke unter `source/modules/d3/googleanalytics4/Application/views/blocks/`. -*Hinweis: nicht alle templates sind bereits gefüllt. Wünschen Sie die Implementierung eines unausgefüllten templates? -Kommen Sie auf uns zu unter https://www.d3data.de/ - -### Blöcke -Für den geregelten Ablauf sind folgende Blöcke nötig: -- Suchergebnisse - - Blockname: search_results - - Datei: page/search/search.tpl - - GA4 Event: view_search_results -- Artikelliste - - Blockname: d3Ga4_view_item_list (muss hinzugefügt werden) - - Datei: widget/product/list.tpl - - GA4 Event: view_item_list -- Detailseite - - Blockname: details_productmain_title - - Datei: page/details/inc/productmain.tpl - - GA4 Event: view_item -- dem WK hinzufügen (button) - - Blockname: details_productmain_tobasket - - Datei: page/details/inc/productmain.tpl - - GA4 Event: add_to_cart -- Warenkorb - - Blockname: checkout_basket_main - - Datei: page/checkout/basket.tpl - - GA4 Event: view_cart -- abgeschlossener Kauf - - Blockname: checkout_thankyou_main - - Datei: page/checkout/thankyou.tpl - - GA4 Event: purchase - -### Verfügbare Datalayer Variablen -Für die einfachste Übersicht der enthaltenen Daten empfehle ich den Vorschau-Modus vom Google Tag Manager. - -Bei jedem Seitenaufruf wird die Datenschicht mit einigen wenigen Infos erstellt, die man zum reinen Erfassen der Seitenaufrufe benötigt: -+ **page.type** - Seitentyp: default / cms / product / listing / checkout (an google analytics angelehnt) -+ **page.title** - Seitentitel (außer Startseite, sie hat keinen Titel) -+ **page.cl** - OXID Controller Klasse (start, search, etc) -+ **userid** - oxId vom Benutzer bzw `false` falls nicht eingeloggt -+ **sessionid** - session iD - -Alle für Ecommerce Tracking relevanten Daten werden mit speziellen Ecommerce Events in die Datenschicht eingefügt. +### Technische Infos +- Navigieren Sie bitte zur [technischen Doku](./Docs/README.md) --- -Sie nutzen einen eigenen, als Modul im Shop installierten, Cookie-manager? Dann tragen Sie in den Folgeeinstellungen -unter "Cookie Manager Einstellungen", die Cookie-ID des zugehörigen Cookies ein. Und aktivieren Sie diese Weiche, -indem Sie den Haken bei "Eigenen Cookie Manager nutzen?" setzen. - ## Changelog Siehe [CHANGELOG](CHANGELOG.md) für weitere Informationen. @@ -134,8 +80,11 @@ Copyright (c) D3 Data Development (Inh. Thomas Dartsch) Diese Software wird unter der GNU GENERAL PUBLIC LICENSE Version 3 vertrieben. ``` -Die vollständigen Copyright- und Lizenzinformationen entnehmen Sie bitte der [LICENSE](LICENSE.md)-Datei, die mit diesem Quellcode verteilt wurde. +Die vollständigen Copyright- und Lizenzinformationen entnehmen Sie bitte der [LICENSE](LICENSE)-Datei, die mit diesem Quellcode verteilt wurde. -## weitere Lizenzen und Nutzungsbedingungen +## Credits +Zu diesem Modul haben beigetragen: -... \ No newline at end of file +- [Marat Bedoev](https://github.com/vanilla-thunder) + +Vielen Dank. \ No newline at end of file diff --git a/metadata.php b/metadata.php index f0ce6d2..23d580f 100755 --- a/metadata.php +++ b/metadata.php @@ -137,7 +137,8 @@ $aModule = [ [ 'template' => 'page/details/inc/productmain.tpl', 'block' => 'details_productmain_tobasket', - 'file' => '/Application/views/ga4/add_to_cart.tpl' + 'file' => '/Application/views/ga4/add_to_cart.tpl', + 'position' => 150 ] ], 'settings' => [ From d028f418ad2a4fe84535f2fb5ea68d90612b2306 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Thu, 26 Jan 2023 15:31:45 +0100 Subject: [PATCH 07/14] add block positions to metadata --- metadata.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/metadata.php b/metadata.php index 23d580f..ab06efe 100755 --- a/metadata.php +++ b/metadata.php @@ -125,13 +125,15 @@ $aModule = [ [ 'template' => 'widget/product/list.tpl', 'block' => 'd3Ga4_view_item_list', - 'file' => '/Application/views/ga4/view_item_list.tpl' + 'file' => '/Application/views/ga4/view_item_list.tpl', + 'position' => 150 ], // view_search_result [ 'template' => 'page/search/search.tpl', 'block' => 'search_results', - 'file' => '/Application/views/ga4/search.tpl' + 'file' => '/Application/views/ga4/search.tpl', + 'position' => 150 ], // add_to_cart [ From bd17c3370d2fdd36b93dea3512ae68be66f07fc8 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 27 Jan 2023 08:59:06 +0100 Subject: [PATCH 08/14] cleaning off branding --- Application/translations/en/blagtm_lang.php | 37 ------------------- Application/views/admin/de/module_options.php | 18 ++++----- Application/views/blocks/_gtm_js.tpl | 5 +-- Application/views/blocks/checkout_s2.tpl | 2 +- Modules/Core/ViewConfig.php | 35 ++---------------- metadata.php | 28 +++++++------- 6 files changed, 29 insertions(+), 96 deletions(-) delete mode 100644 Application/translations/en/blagtm_lang.php diff --git a/Application/translations/en/blagtm_lang.php b/Application/translations/en/blagtm_lang.php deleted file mode 100644 index 84293dc..0000000 --- a/Application/translations/en/blagtm_lang.php +++ /dev/null @@ -1,37 +0,0 @@ - - **/ - -$aLang = [ - 'charset' => 'UTF-8', - - - // das hier wird nicht mehr benötigt, aber ich lasse es drin, falls doch - // leserliche Namen für product list performance (GA) - 'VT_GTM_EE_productList' => 'Category', - 'VT_GTM_EE_searchList' => 'Search', - 'VT_GTM_EE_cross' => 'Crossselling', - 'VT_GTM_EE_accessories' => 'Accessories', - 'VT_GTM_EE_last' => 'Last Seen', - 'VT_GTM_EE_bargainItems' => 'Offer of the Week', - 'VT_GTM_EE_newItems' => 'Just Arrived', - 'VT_GTM_EE_topBox' => 'Topseller', - // ab hier wird wieder benötigt - - // Dimensionen im checkout - 'VT_GTM_EE_LOGINOPTION' => 'Existing Customer', - 'VT_GTM_EE_LOGINOPTION1' => 'Guest', - 'VT_GTM_EE_LOGINOPTION2' => 'Existing Customer', - 'VT_GTM_EE_LOGINOPTION3' => 'New Customer' -]; diff --git a/Application/views/admin/de/module_options.php b/Application/views/admin/de/module_options.php index b99525b..02f8416 100755 --- a/Application/views/admin/de/module_options.php +++ b/Application/views/admin/de/module_options.php @@ -25,22 +25,22 @@ input.confinput:hover {outline:3px solid #ff3600;} '; $aLang = [ 'charset' => 'UTF-8', - 'SHOP_MODULE_vt_gtm_sContainerID' => 'Container ID', - 'SHOP_MODULE_GROUP_vt_gtm_settings' => 'Einstellungen', - 'SHOP_MODULE_vt_gtm_blGA4enab' => 'GA4 Aktivieren', - 'SHOP_MODULE_vt_gtm_blUAenabled' => 'UA Aktivieren', - 'SHOP_MODULE_vt_gtm_blEnableDebug' => 'Debug-Modus aktivieren', + 'SHOP_MODULE_d3_gtm_sContainerID' => 'Container ID', + 'SHOP_MODULE_GROUP_d3_gtm_settings' => 'Einstellungen', + 'SHOP_MODULE_d3_gtm_blGA4enab' => 'GA4 Aktivieren', + 'SHOP_MODULE_d3_gtm_blUAenabled' => 'UA Aktivieren', + 'SHOP_MODULE_d3_gtm_blEnableDebug' => 'Debug-Modus aktivieren', // for cookie manager settings - 'SHOP_MODULE_GROUP_vt_gtm_settings_cookiemanager' => 'Cookie Manager Einstellungen', - 'SHOP_MODULE_vt_gtm_settings_hasOwnCookieManager' => 'Eigenen Cookie Manager nutzen? + 'SHOP_MODULE_GROUP_d3_gtm_settings_cookiemanager' => 'Cookie Manager Einstellungen', + 'SHOP_MODULE_d3_gtm_settings_hasOwnCookieManager' => 'Eigenen Cookie Manager nutzen? Hinweis (Fragezeichen) lesen!', - 'HELP_SHOP_MODULE_vt_gtm_settings_hasOwnCookieManager' => 'Stellen Sie sicher, dass Sie ein Modul installiert haben, + 'HELP_SHOP_MODULE_d3_gtm_settings_hasOwnCookieManager' => 'Stellen Sie sicher, dass Sie ein Modul installiert haben, dass die Methode "blAcceptedCookie" implementiert.
Sollten Sie sich nicht sicher sein kontaktieren Sie Ihren technischen Ansprechpartner.

Wichtig! Das Aktivieren dieser Checkbox kann ohne dem nötigen technischen Wissen den Shop-Ablauf im Frontend stören!
Die Checkbox muss nicht aktiviert werden, sofern die Cookies beispielsweise direkt via Google Cookie-Banner integriert werden. Bei Fragen kontaktieren Sie bitte auch hier einen entsprechenden technischen Ansprechpartner.', - 'SHOP_MODULE_vt_gtm_settings_cookieName' => 'Cookie-Name', + 'SHOP_MODULE_d3_gtm_settings_cookieName' => 'Cookie-Name', ]; diff --git a/Application/views/blocks/_gtm_js.tpl b/Application/views/blocks/_gtm_js.tpl index 0f22c6f..3436ec9 100755 --- a/Application/views/blocks/_gtm_js.tpl +++ b/Application/views/blocks/_gtm_js.tpl @@ -1,6 +1,6 @@ [{assign var="d3VtConfigObject" value=$oViewConf->getConfig()}] -[{if $d3VtConfigObject->getConfigParam('vt_gtm_settings_hasOwnCookieManager')}] - [{if $oViewConf->blAcceptedCookie($d3VtConfigObject->getConfigParam('vt_gtm_settings_cookieName'))}] +[{if $d3VtConfigObject->getConfigParam('d3_gtm_settings_hasOwnCookieManager')}] + [{if $oViewConf->blAcceptedCookie($d3VtConfigObject->getConfigParam('d3_gtm_settings_cookieName'))}] [{if $oViewConf->getGtmContainerId()}][{strip}] @@ -46,7 +46,6 @@ })(window, document, 'script', 'dataLayer', '[{$oViewConf->getGtmContainerId()}]'); - [{$oViewConf->triggerGA4events()}] [{if $oViewConf->getTopActionClassName() === "alist" }] [{* include file="ga4_view_item_list.tpl" gtmCategory=$oView->getActiveCategory() gtmProducts=$oView->getArticleList() listtype=$oView->getListType() *}] [{elseif $oViewConf->getTopActionClassName() === "details" }] diff --git a/Application/views/blocks/checkout_s2.tpl b/Application/views/blocks/checkout_s2.tpl index dcb7c7d..346ffb6 100644 --- a/Application/views/blocks/checkout_s2.tpl +++ b/Application/views/blocks/checkout_s2.tpl @@ -8,7 +8,7 @@ 'checkout': { 'actionField': { 'step': 2, - 'option':'[{oxmultilang ident="VT_GTM_EE_LOGINOPTION"|cat:$oView->getLoginOption()}]' + 'option':'[{oxmultilang ident="vt_GTM_EE_LOGINOPTION"|cat:$oView->getLoginOption()}]' } } } diff --git a/Modules/Core/ViewConfig.php b/Modules/Core/ViewConfig.php index ca5cc37..f1bd926 100644 --- a/Modules/Core/ViewConfig.php +++ b/Modules/Core/ViewConfig.php @@ -30,7 +30,7 @@ class ViewConfig extends ViewConfig_parent { if ($this->sContainerId === null) { - $this->sContainerId = $this->getConfig()->getConfigParam('vt_gtm_sContainerID'); + $this->sContainerId = $this->getConfig()->getConfigParam('d3_gtm_sContainerID'); } return $this->sContainerId; } @@ -41,7 +41,7 @@ class ViewConfig extends ViewConfig_parent { if ($this->blGA4enabled === null) { - $this->sContainerId = $this->getConfig()->getConfigParam('vt_gtm_blEnableGA4'); + $this->sContainerId = $this->getConfig()->getConfigParam('d3_gtm_blEnableGA4'); } return $this->blGA4enabled; @@ -81,40 +81,11 @@ class ViewConfig extends ViewConfig_parent //'httpref' => $_SERVER["HTTP_REFERER"] ?? "unknown" ]; - #return json_encode([$dataLayer], JSON_PRETTY_PRINT); + return json_encode([$dataLayer], JSON_PRETTY_PRINT); unset($dataLayer["user"]["http"]); // das brauchen wir hier nicht - return json_encode([$dataLayer], JSON_PRETTY_PRINT); - /* - // --- Produktdaten --- - $transactionProducts = []; - foreach($oOrder->getOrderArticles() as $_prod ) $transactionProducts[] = [ - 'name' => '', // (erforderlich) Produktname String - 'sku' => '', // (erforderlich) Produkt-SKU String - 'category' => '', // (optional) Produktkategorie String - 'price' => '', // (erforderlich) Preis pro Einheit Numerischer Wert - 'quantity' => '' // (erforderlich) Anzahl der Artikel Numerischer Wert - ]; - - // --- Transaktionsdaten --- - - $dataLayer['transactionId'] = $oOrder->oxorder__oxordernr->value; // (erforderlich) Eindeutige Transaktionskennung String - $dataLayer['transactionAffiliation'] = $oShop->oxshops__oxname->value; // (optional) Partner oder Geschäft String - $dataLayer['transactionTotal'] = $oOrder->oxorder__oxtotalordersum->value; // (erforderlich) Gesamtwert der Transaktion Numerischer Wert - $dataLayer['transactionShipping'] = $oOrder->oxorder__oxdelcost->value; // (optional) Versandkosten für die Transaktion Numerischer Wert - $dataLayer['transactionTax'] = ''; // (optional) Steuerbetrag für die Transaktion Numerischer Wert - $dataLayer['transactionProducts'] = $transactionProducts; // (optional) Liste der bei der Transaktion erworbenen Artikel Array von Produktobjekten - */ - } - - public function triggerGA4events() - { - // general events - - } - public function isPromotionList($listId) { $oConfig = Registry::getConfig(); diff --git a/metadata.php b/metadata.php index ab06efe..4f76652 100755 --- a/metadata.php +++ b/metadata.php @@ -46,10 +46,10 @@ $aModule = [ 'ga4_view_item_list.tpl' => 'd3/googleanalytics4/Application/views/ga4/view_item_list.tpl', 'ga4_view_promotion.tpl' => 'd3/googleanalytics4/Application/views/ga4/view_promotion.tpl', /* - 'gtm_ua_impression' => 'vt/GoogleTagManager/Application/views/ua/impression.tpl' - 'gtm_view_promotion.tpl' => 'vt/GoogleTagManager/Application/views/view_promotion.tpl', - 'gtm_select_promotion.tpl' => 'vt/GoogleTagManager/Application/views/select_promotion.tpl', - 'gtm_begin_checkout.tpl' => 'vt/GoogleTagManager/Application/views/begin_checkout.tpl', + 'gtm_ua_impression' => 'd3/GoogleTagManager/Application/views/ua/impression.tpl' + 'gtm_view_promotion.tpl' => 'd3/GoogleTagManager/Application/views/view_promotion.tpl', + 'gtm_select_promotion.tpl' => 'd3/GoogleTagManager/Application/views/select_promotion.tpl', + 'gtm_begin_checkout.tpl' => 'd3/GoogleTagManager/Application/views/begin_checkout.tpl', */ ], 'blocks' => [ @@ -145,36 +145,36 @@ $aModule = [ ], 'settings' => [ [ - 'group' => 'vt_gtm_settings', - 'name' => 'vt_gtm_sContainerID', + 'group' => 'd3_gtm_settings', + 'name' => 'd3_gtm_sContainerID', 'type' => 'str', 'value' => 'GTM-', 'position' => 0 ], [ - 'group' => 'vt_gtm_settings', - 'name' => 'vt_gtm_blGA4enab', + 'group' => 'd3_gtm_settings', + 'name' => 'd3_gtm_sContainerID', 'type' => 'bool', 'value' => true, 'position' => 1 ], [ - 'group' => 'vt_gtm_settings', - 'name' => 'vt_gtm_blEnableDebug', + 'group' => 'd3_gtm_settings', + 'name' => 'd3_gtm_blEnableDebug', 'type' => 'bool', 'value' => false, 'position' => 999 ], [ - 'group' => 'vt_gtm_settings_cookiemanager', - 'name' => 'vt_gtm_settings_hasOwnCookieManager', + 'group' => 'd3_gtm_settings_cookiemanager', + 'name' => 'd3_gtm_settings_hasOwnCookieManager', 'type' => 'bool', 'value' => false, 'position' => 999 ], [ - 'group' => 'vt_gtm_settings_cookiemanager', - 'name' => 'vt_gtm_settings_cookieName', + 'group' => 'd3_gtm_settings_cookiemanager', + 'name' => 'd3_gtm_settings_cookieName', 'type' => 'str', 'value' => 'example', 'position' => 999 From 410be2fb400933847c576ace3a01ecf73e9ff92b Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 27 Jan 2023 09:06:49 +0100 Subject: [PATCH 09/14] rm unnecessary lang file --- Application/translations/de/module_lang.php | 39 --------------------- 1 file changed, 39 deletions(-) delete mode 100644 Application/translations/de/module_lang.php diff --git a/Application/translations/de/module_lang.php b/Application/translations/de/module_lang.php deleted file mode 100644 index ed0a7ab..0000000 --- a/Application/translations/de/module_lang.php +++ /dev/null @@ -1,39 +0,0 @@ - - **/ - -$aLang = [ - 'charset' => 'UTF-8', - - // das hier wird nicht mehr benötigt, aber ich lasse es drin, falls doch - // leserliche Namen für product list performance (GA) - 'VT_GTM_EE_productList' => 'Kategorie', - 'VT_GTM_EE_categoryList' => 'Kategorie', - 'VT_GTM_EE_searchList' => 'Suchergebnisse', - 'VT_GTM_EE_cross' => 'Crossselling', - 'VT_GTM_EE_accessories' => 'Zubehör', - 'VT_GTM_EE_alsoBought' => 'Kunden kaufen auch', - 'VT_GTM_EE_last' => 'Zuletzt angesehen', - 'VT_GTM_EE_bargainItems' => 'Angebot der Woche', - 'VT_GTM_EE_newItems' => 'Frisch eingetroffen', - 'VT_GTM_EE_topBox' => 'Topseller', - // ab hier wird wieder benötigt - - // Dimensionen im checkout - 'VT_GTM_EE_LOGINOPTION' => 'Bestandskunde', - 'VT_GTM_EE_LOGINOPTION1' => 'Gastbestellung', - 'VT_GTM_EE_LOGINOPTION2' => 'Bestandskunde', - 'VT_GTM_EE_LOGINOPTION3' => 'Neukunde' - -]; From b5d056fd838bc7eaa651fee427026cdf03e5ec08 Mon Sep 17 00:00:00 2001 From: MaxBUhe Date: Fri, 27 Jan 2023 09:07:09 +0100 Subject: [PATCH 10/14] switch head-meta-infos --- Application/views/admin/de/module_options.php | 20 ++++++------- Modules/Core/ViewConfig.php | 29 +++++++++---------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/Application/views/admin/de/module_options.php b/Application/views/admin/de/module_options.php index 02f8416..572b734 100755 --- a/Application/views/admin/de/module_options.php +++ b/Application/views/admin/de/module_options.php @@ -1,16 +1,16 @@ + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com */ $style = '