Compare commits
132 Commits
Author | SHA1 | Date |
---|---|---|
MaxBUhe | 8a643a0b8a | |
MaxBUhe | 7d23204841 | |
MaxBUhe | 9410495a58 | |
MaxBUhe | 05df5ef100 | |
MaxBUhe | 59ef1d0625 | |
MaxBUhe | e4969f2cbd | |
MaxBUhe | 13ef2bef7b | |
MaxBUhe | 59f0e37cce | |
MaxBUhe | bcf38a6e11 | |
MaxBUhe | e3f4bd16c9 | |
MaxBUhe | ed5fcc6011 | |
MaxBUhe | 22ea5a1ce2 | |
MaxBUhe | 42618fef79 | |
MaxBUhe | f02c40cfb7 | |
MaxBUhe | 19553fcee2 | |
MaxBUhe | bb513e6ded | |
MaxBUhe | 36b3aa9ef2 | |
MaxBUhe | ef4e4625cd | |
MaxBUhe | 84a9aba764 | |
MaxBUhe | 154147b8d8 | |
MaxBUhe | 7d12dd68a7 | |
MaxBUhe | 565f47b1ff | |
MaxBUhe | 7c6b0215a5 | |
Markus Gärtner | 84e3895db8 | |
MaxBUhe | 1e479503a7 | |
MaxBUhe | 9e7b4653ea | |
MaxBUhe | 7b1241ab97 | |
MaxBUhe | 0f15df8364 | |
MaxBUhe | 71b743ddcc | |
MaxBUhe | c0206f741f | |
MaxBUhe | 22bec30621 | |
MaxBUhe | 43cdc7e8ae | |
MaxBUhe | 49bfd5be09 | |
MaxBUhe | 6002540268 | |
MaxBUhe | cc89303595 | |
MaxBUhe | 7062d935f4 | |
MaxBUhe | 9f1deab099 | |
MaxBUhe | 461f7f15da | |
MaxBUhe | 4f8fa7cdc9 | |
MaxBUhe | 2cc0368633 | |
MaxBUhe | b0a1c20419 | |
MaxBUhe | 54fcbf88c9 | |
MaxBUhe | 0ae67c823b | |
MaxBUhe | ab4232fb4a | |
MaxBUhe | 0ec765955e | |
MaxBUhe | d505d8530a | |
MaxBUhe | fd79710158 | |
MaxBUhe | d2ef663dd3 | |
MaxBUhe | fec30b1109 | |
MaxBUhe | 5c53d83f32 | |
MaxBUhe | 8a7c25fad9 | |
MaxBUhe | 429069e0cf | |
MaxBUhe | 50f9fbca23 | |
MaxBUhe | cb18feba82 | |
MaxBUhe | 47b8622018 | |
MaxBUhe | 92a91d0194 | |
MaxBUhe | 226a80f138 | |
MaxBUhe | 5dd7b51fb5 | |
MaxBUhe | 7b82476e8b | |
MaxBUhe | bfc2ca8ad6 | |
MaxBUhe | 7266416fe4 | |
MaxBUhe | 389d4f44ed | |
MaxBUhe | e48b21022c | |
MaxBUhe | b4bf91660e | |
MaxBUhe | 3d62993dfc | |
MaxBUhe | 41d6e94fa7 | |
MaxBUhe | b8e2aeaa58 | |
MaxBUhe | 679a49823c | |
MaxBUhe | 106fea9c91 | |
MaxBUhe | 13132e6da0 | |
MaxBUhe | 5c478124bc | |
MaxBUhe | 12613357b3 | |
MaxBUhe | 95e0cab68c | |
MaxBUhe | 1d194d445a | |
MaxBUhe | bf3fee5ce5 | |
MaxBUhe | 3c280a3adb | |
MaxBUhe | 6217524828 | |
MaxBUhe | 5ef600ff2a | |
MaxBUhe | a40d922f42 | |
MaxBUhe | dae5f66f81 | |
MaxBUhe | 347e551194 | |
MaxBUhe | 000c49c56b | |
MaxBUhe | 002cc69d2a | |
MaxBUhe | af78809ae5 | |
MaxBUhe | d531ba648b | |
MaxBUhe | a0c650fca3 | |
MaxBUhe | af341a984b | |
MaxBUhe | 122dd4cf53 | |
MaxBUhe | 27798703b0 | |
Christoph Staeblein | 8eb734be8a | |
MaxBUhe | 616f31ecba | |
MaxBUhe | 527eec1355 | |
MaxBUhe | 1966d3008e | |
MaxBUhe | bd51b37159 | |
MaxBuhe01 | 718b60e12c | |
MaxBuhe01 | d4df87bfff | |
MaxBUhe | 63007e9b02 | |
MaxBUhe | 5fe656988c | |
MaxBUhe | 9cb3a54824 | |
MaxBUhe | 2f6fd8a31c | |
MaxBUhe | 8f9ed021d6 | |
MaxBUhe | 0ef3d3373a | |
MaxBUhe | fd2b4a5bbe | |
MaxBuhe01 | 1c0d55bdc3 | |
MaxBuhe01 | 7c1f99e678 | |
MaxBUhe | 126e746651 | |
MaxBuhe01 | 1c45a16356 | |
MaxBUhe | 1589f202a9 | |
MaxBUhe | 55bd7b7fb4 | |
MaxBUhe | 3c1e6a11ff | |
MaxBUhe | 9ac78a0d43 | |
MaxBUhe | e2bcb34051 | |
MaxBUhe | 4ea0c19d7b | |
MaxBUhe | 56740f1f10 | |
MaxBUhe | daed30a585 | |
MaxBUhe | 48d411ac3f | |
MaxBUhe | b530366cb8 | |
MaxBUhe | 975d07056a | |
MaxBUhe | 24bf113d30 | |
MaxBUhe | ca6a810fa3 | |
MaxBUhe | 62b382eadf | |
MaxBUhe | 45d8e45137 | |
MaxBUhe | 70f2308575 | |
MaxBUhe | 6eb15ec080 | |
MaxBUhe | d722c46a74 | |
MaxBUhe | d847a34e99 | |
MaxBUhe | 7b55d1d57c | |
MaxBUhe | a25be1069c | |
MaxBUhe | 5200232a32 | |
MaxBUhe | bcd785774b | |
MaxBUhe | 5ba613df30 | |
MaxBUhe | a1dc0a6a58 |
|
@ -27,52 +27,6 @@ $aLang = [
|
|||
'SHOP_MODULE_d3_gtm_blGA4enab' => 'GA4 Aktivieren',
|
||||
'SHOP_MODULE_d3_gtm_blUAenabled' => 'UA Aktivieren',
|
||||
'SHOP_MODULE_d3_gtm_blEnableDebug' => 'Debug-Modus aktivieren',
|
||||
'SHOP_MODULE_GROUP_d3_gtm_settings_serversidetagging' => 'Server-Side tagging',
|
||||
'SHOP_MODULE_d3_gtm_settings_serversidetagging_js' => 'Servercontainer Ausführender-Code',
|
||||
'HELP_SHOP_MODULE_d3_gtm_settings_serversidetagging_js' => 'Diese Domain wird im <strong>aktiven</strong>-code ausgefüht. Das heißt,
|
||||
dass es sich hierbei um das HTML-Tag <code>script</code> handelt.
|
||||
Dieses kümmert sich darum, dass die, im data_layer
|
||||
zusammengefassten Daten an den GTM weitergeleitet werden.<br>
|
||||
<br>
|
||||
<h4>Folgend eine Darstellung, was genau ausgetauscht wird</h4>
|
||||
<pre>
|
||||
<code>
|
||||
Vorher:
|
||||
https://www.googletagmanager.com/gtm.js?id=
|
||||
|
||||
Nachher:
|
||||
{Domain}?id=
|
||||
</code>
|
||||
</pre>
|
||||
Die Conatiner-ID wird weiterhin im Punkt "Einstellung" eingetragen!
|
||||
',
|
||||
'SHOP_MODULE_d3_gtm_settings_serversidetagging_nojs' => 'Servercontainer NICHT Ausführender-Code<br><br>
|
||||
"Serverseitiges Tagging ist eine neue Möglichkeit, mit Google Tag Manager Ihre Anwendung geräteübergreifend zu verwalten.<br>
|
||||
Servercontainer verwenden dasselbe Tag-, Trigger- und Variablenmodell, das Sie gewohnt sind.<br>
|
||||
Außerdem bieten sie neue Tools, mit denen Sie Nutzeraktivitäten überall messen können." <br>
|
||||
<br>
|
||||
- Quelle <a href="https://developers.google.com/tag-platform/tag-manager/server-side/intro">Developers-Google Server-Side tagging</a><br>
|
||||
<br>
|
||||
<strong>Verändern Sie die Werte nur, wenn Sie Server-Side tagging verwenden wollen!</strong>
|
||||
',
|
||||
'HELP_SHOP_MODULE_d3_gtm_settings_serversidetagging_nojs' => 'Diese Domain wird im <strong>passiven</strong>-code ausgefüht. Das heißt,
|
||||
dass es sich hierbei um das HTML-Tag <code>noscript</code> handelt.
|
||||
Dieses wird ausgeführt, wenn aus einem bestimmten Grund
|
||||
das Javascript nicht ausgeführt wird.<br>
|
||||
( keine Cookies erlaubt, JavaScript-Unterbindung, ... )
|
||||
<br>
|
||||
<h4>Folgend eine Darstellung, was genau ausgetauscht wird</h4>
|
||||
<pre>
|
||||
<code>
|
||||
Vorher:
|
||||
src="https://www.googletagmanager.com/ns.html?id={Container-ID}"
|
||||
|
||||
Nachher:
|
||||
src="{Domain}?id={Container-ID}"
|
||||
</code>
|
||||
</pre>
|
||||
Die Conatiner-ID wird weiterhin im Punkt "Einstellung" eingetragen!
|
||||
',
|
||||
|
||||
// for cookie manager settings
|
||||
'SHOP_MODULE_GROUP_d3_gtm_settings_cookiemanager' => 'Cookie Manager Einstellungen',
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
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;
|
||||
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', '[{$oViewConf->getGtmContainerId()}]');
|
||||
</script>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
[{if $oViewConf->getGtmContainerId()}][{strip}]
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript>
|
||||
<iframe src="[{$oViewConf->getServerSidetaggingNoJsDomain()}]?id=[{$oViewConf->getGtmContainerId()}]"
|
||||
<iframe src="https://www.googletagmanager.com/ns.html?id=[{$oViewConf->getGtmContainerId()}]"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe>
|
||||
</noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
[{$smarty.block.parent}]
|
||||
|
||||
[{include file="event/view_cart.tpl"}]
|
||||
[{include file="event/view_cart.tpl"}]
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
[{$smarty.block.parent}]
|
||||
|
||||
[{include file="event/view_item.tpl"}]
|
||||
[{include file="event/view_item.tpl"}]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
[{if $d3CmpBasket && $d3CmpBasket->getAddToBasketDecision() && $d3CmpBasket->d3GtmRequestedArticleLoadedByAnid() !== null}]
|
||||
[{if $d3CmpBasket->getAddToBasketDecision() && $d3CmpBasket->d3GtmRequestedArticleLoadedByAnid() !== null}]
|
||||
[{assign var="oGtmProduct" value=$d3CmpBasket->d3GtmRequestedArticleLoadedByAnid()}]
|
||||
[{assign var="oGtmAmountArticlesAdded" value=$d3CmpBasket->getD3GtmAddToCartAmountArticles()}]
|
||||
[{*$smarty.block.parent*}]
|
||||
|
|
142
CHANGELOG.md
142
CHANGELOG.md
|
@ -4,13 +4,143 @@ 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.16.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.15.1...1.16.0) - 2024-04-11
|
||||
### Added
|
||||
- ( Google ) Server-Side tagging usability
|
||||
|
||||
## [1.15.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.15.0...1.15.1) - 2024-04-11
|
||||
## [2.15.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.14.0...2.15.0) - 2024-02-05
|
||||
### Fixed
|
||||
- false processing of template during missing necessary-component
|
||||
- missing Component-ArticleDetails extension, missing ManufacturerListController extension
|
||||
|
||||
## [2.14.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.13.1...2.14.0) - 2023-01-22
|
||||
### Added
|
||||
- add_to_cart Event to several new shop-pages (landing-page, Account, category article-list, start)
|
||||
- PHPStan code-cleanup
|
||||
### Changed
|
||||
- template structure
|
||||
- code cleanup
|
||||
|
||||
## [2.13.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.13.0...2.13.1) - 2023-01-03
|
||||
### Fixed
|
||||
- error on array-count at zero entries
|
||||
|
||||
## [2.13.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.12.0...2.13.0) - 2023-09-13
|
||||
### Added
|
||||
- extended Docs
|
||||
### Changed
|
||||
- control-param name
|
||||
- control-param function
|
||||
- adjusted check for set control-param
|
||||
- consentmanager-script-adjustments
|
||||
|
||||
## [2.12.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.11.1...2.12.0) - 2023-09-07
|
||||
### Added
|
||||
- cookiebot functionality
|
||||
|
||||
## [2.11.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.10.1...2.11.0) - 2023-08-23
|
||||
### Added
|
||||
- manufacturer extension
|
||||
- working debug_mode
|
||||
### Changed
|
||||
- check for 'article has been removed'
|
||||
- general template cleanup
|
||||
|
||||
## [2.10.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.10.0...2.10.1) - 2023-08-03
|
||||
### Added
|
||||
- missing param to identify the event
|
||||
|
||||
## [2.10.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.9.2...2.10.0) - 2023-08-02
|
||||
### Added
|
||||
- new Event "remove_from_cart"
|
||||
|
||||
## [2.9.2](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.9.1...2.9.2) - 2023-06-29
|
||||
### Fixed
|
||||
- wrong variable for category-object check
|
||||
|
||||
## [2.9.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.9.0...2.9.1) - 2023-06-27
|
||||
### Fixed
|
||||
- deny method call on no category
|
||||
|
||||
## [2.9.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.8.0...2.9.0) - 2023-06-27
|
||||
### Added
|
||||
- Cookiefirst usability
|
||||
|
||||
## [2.8.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.7.0...2.8.0) - 2023-06-23
|
||||
### Added
|
||||
- Method to get the in order used Payment-Name
|
||||
- Method to get the current Article Category
|
||||
- Following Entries to dedicated event-templates
|
||||
- coupon
|
||||
- paymentType
|
||||
- item_list_name
|
||||
- item_category
|
||||
### Changed
|
||||
- all used template-files have a more dedicated name
|
||||
- general code cleanup
|
||||
|
||||
## [2.7.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.6.0...2.7.0) - 2023-06-19
|
||||
### Changed
|
||||
- add_to_cart event template-structure
|
||||
|
||||
## [2.6.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.5.0...2.6.0) - 2023-05-31
|
||||
### Added
|
||||
- add settings to explicit choose an external service (usercentrics/ consentmanager)
|
||||
- position to block-extension
|
||||
- extended instructions to check for in readme
|
||||
### Fixed
|
||||
- usercentrics script
|
||||
- missing right articleList-getter
|
||||
### Changed
|
||||
- view_item_list-template block extension
|
||||
- cookieManager handling
|
||||
### Removed
|
||||
- additional check for cookieManagerType
|
||||
|
||||
## [2.5.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.4.0...2.5.0) - 2023-05-23
|
||||
### Added
|
||||
- additional settings to explicitly indicate that consentmanager is used
|
||||
### Fixed
|
||||
- unnecessary converting of int to str
|
||||
- missing PriceObject-bug
|
||||
### Changed
|
||||
- genuine code cleanup
|
||||
|
||||
## [2.4.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.3.3...2.4.0) - 2023-05-02
|
||||
### Added
|
||||
- "OXID Cookie Management powered by usercentrics" compatibility
|
||||
- usercentrics defined script attributes
|
||||
- cookie-manager evaluation
|
||||
### Changed
|
||||
- genuine clean up of base-js-files
|
||||
|
||||
## [2.3.3](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.3.2...2.3.3) - 2023-03-20
|
||||
### Fixed
|
||||
- metadata file path for view_item
|
||||
|
||||
## [2.3.2](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.2.2...2.3.2) - 2023-03-17
|
||||
### Added
|
||||
- Aggrosoft-Cookie-Consent compatibility
|
||||
### Fixed
|
||||
- wrong function for pageview on thankyou page
|
||||
### Deleted
|
||||
- unused files
|
||||
|
||||
## [2.2.2](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.2.1...2.2.2) - 2023-02-22
|
||||
### Fixed
|
||||
- price formatting in view_cart
|
||||
|
||||
## [2.2.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.1.1...2.2.1) - 2023-02-21
|
||||
### Added
|
||||
- cookie handling
|
||||
|
||||
## [2.1.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.1...2.1.1) - 2023-01-27
|
||||
### Fixed
|
||||
- add missing class import
|
||||
|
||||
## [2.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.0...2.1) - 2023-01-27
|
||||
### Added
|
||||
- block section for add_to_basket js
|
||||
- template block order positions
|
||||
|
||||
## [2.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.1...2.0) - 2023-01-20
|
||||
### Added
|
||||
- using of ContainerFactory in ViewConfig
|
||||
|
||||
## [1.15.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/1.14.0...1.15.0) - 2024-01-25
|
||||
### Fixed
|
||||
|
|
|
@ -10,38 +10,7 @@ Tragen Sie hier im Normalfall die ID des zu prüfenden Cookies ein.
|
|||
In bestimmten Fällen, müssen Sie hier alternative Werte eintragen. Diese Fälle sind bedingt
|
||||
nach der gewählten CMP (Consent Manager Platform).
|
||||
|
||||
> nähere Infos unter [CMP](#consent-manager-platform-cmp)
|
||||
|
||||
## 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: page_list_productlist
|
||||
- Datei: page/list/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
|
||||
- aus dem WK entfernen
|
||||
- Blockname: checkout_basket_main
|
||||
- Datei: page/checkout/basket.tpl
|
||||
- GA4 Event: remove_from_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
|
||||
> nähere Infos unter [CMP](#consent-manager-platform-cmp)
|
||||
|
||||
## Verfügbare Datalayer Variablen
|
||||
Für die einfachste Übersicht der enthaltenen Daten empfehle ich den Vorschau-Modus vom Google Tag Manager.
|
||||
|
@ -80,7 +49,7 @@ Aktivieren Sie anschließend diese Weiche. Setzen Sie den Haken bei "Eigenen Coo
|
|||
- In der Usercentrics-Verwaltung die Services "Google Analytics" und "Google Tag Manager" anlegen
|
||||
- Den Service ```Google Tag Manager``` in den Moduleinstellungen des 'Google Analytics 4' unter
|
||||
Google Tag Manager eintragen
|
||||
-
|
||||
|
||||
- [Consent Management Provider](https://www.consentmanager.net/)
|
||||
- In der Consentmanager-Oberfläche den Anbieter "Google Tag Manager" mit der ID s905 hinzufügen
|
||||
- Im Frontend, im consentmanager-Pop-up nach dem 'Google Tag Manager' suchen
|
||||
|
@ -88,6 +57,9 @@ Aktivieren Sie anschließend diese Weiche. Setzen Sie den Haken bei "Eigenen Coo
|
|||
- prüfen, ob ein Cookie vorgegeben ist
|
||||
- sonst, in der Consentmanager-Oberfläche Cookie-Liste entsprechendes Cookie suchen und im Admin unter
|
||||
```Einstell. > Cookie Manager Einstellungen > Cookie-ID``` eintragen
|
||||
|
||||
- [Cookiebot](https://www.cookiebot.com)
|
||||
- Nähere Informationen folgen bald! Bis dato, besuchen Sie bitte die offizielle Webseite.
|
||||
|
||||
- [Cookiefirst](https://cookiefirst.com)
|
||||
- im Cookiefirst-Hub das jeweilige Cookie finden underen zugeordnete Kategorie kopieren
|
||||
- die kopierte Kategory wird nun in den Einstellungen des Moduls hinterlegt:
|
||||
```Erweiterungen > Module > Google Analytics 4 > Einstell. > Cookie Manager Einstellungen > Steuerungsparameter (vormals CookieID)```
|
||||
- **Wichtig!** bei Nutzung des Consent-Managers von Google, muss zwangsläufig die Einstellung "Cookie manager Nutzen?" __ausgeschalten!__ werden
|
|
@ -120,4 +120,4 @@ class BasketController extends BasketController_parent
|
|||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,11 @@ use OxidEsales\Eshop\Application\Controller\FrontendController;
|
|||
use OxidEsales\Eshop\Application\Model\User;
|
||||
use OxidEsales\Eshop\Core\Config;
|
||||
use OxidEsales\Eshop\Core\Registry;
|
||||
use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory;
|
||||
use OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\Bridge\ModuleSettingBridgeInterface;
|
||||
use Psr\Container\ContainerExceptionInterface;
|
||||
use Psr\Container\NotFoundExceptionInterface;
|
||||
|
||||
class ViewConfig extends ViewConfig_parent
|
||||
{
|
||||
|
||||
|
@ -29,7 +34,10 @@ class ViewConfig extends ViewConfig_parent
|
|||
{
|
||||
if ($this->sContainerId === null)
|
||||
{
|
||||
$this->sContainerId = Registry::getConfig()->getConfigParam('d3_gtm_sContainerID');
|
||||
$this->sContainerId = ContainerFactory::getInstance()
|
||||
->getContainer()
|
||||
->get(ModuleSettingBridgeInterface::class)
|
||||
->get('d3_gtm_sContainerID', 'd3googleanalytics4');
|
||||
}
|
||||
return $this->sContainerId;
|
||||
}
|
||||
|
@ -46,7 +54,6 @@ class ViewConfig extends ViewConfig_parent
|
|||
$this->sCookieManagerType = $oManagerHandler->getCurrManager();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -101,7 +108,6 @@ class ViewConfig extends ViewConfig_parent
|
|||
return true;
|
||||
}
|
||||
|
||||
// Cookie Manager not (yet) supported
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -144,12 +150,18 @@ class ViewConfig extends ViewConfig_parent
|
|||
|
||||
private $blGA4enabled = null;
|
||||
|
||||
|
||||
/**
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function isGA4enabled()
|
||||
{
|
||||
if ($this->blGA4enabled === null)
|
||||
{
|
||||
$this->sContainerId = Registry::getConfig()->getConfigParam('d3_gtm_blEnableGA4');
|
||||
$this->sContainerId = ContainerFactory::getInstance()
|
||||
->getContainer()
|
||||
->get(ModuleSettingBridgeInterface::class)
|
||||
->get('d3_gtm_blEnableGA4', 'd3googleanalytics4');
|
||||
}
|
||||
|
||||
return $this->blGA4enabled;
|
||||
|
@ -161,7 +173,6 @@ class ViewConfig extends ViewConfig_parent
|
|||
|
||||
$oConfig = Registry::getConfig();
|
||||
$oView = $oConfig->getTopActiveView();
|
||||
|
||||
/** @var User|false|null $oUser */
|
||||
$oUser = $oConfig->getUser();
|
||||
|
||||
|
@ -203,24 +214,4 @@ class ViewConfig extends ViewConfig_parent
|
|||
$oConfig = Registry::getConfig();
|
||||
$aPromotionListIds = $oConfig->getConfigParam("") ?? ['bargainItems', 'newItems', 'topBox', 'alsoBought', 'accessories', 'cross'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function getServerSidetaggingJsDomain() :string
|
||||
{
|
||||
return Registry::getConfig()->getConfigParam('d3_gtm_settings_serversidetagging_js');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function getServerSidetaggingNoJsDomain() :string
|
||||
{
|
||||
return Registry::getConfig()->getConfigParam('d3_gtm_settings_serversidetagging_nojs');
|
||||
}
|
||||
}
|
112
composer.json
112
composer.json
|
@ -1,57 +1,57 @@
|
|||
{
|
||||
"name": "d3/google-analytics4",
|
||||
"description": "Google Tag Manager with new Google Analytics 4 for OXID eShop v6",
|
||||
"type": "oxideshop-module",
|
||||
"keywords": [
|
||||
"oxid",
|
||||
"modules",
|
||||
"eShop",
|
||||
"d3",
|
||||
"google",
|
||||
"ga4",
|
||||
"googleanalytics",
|
||||
"gtm",
|
||||
"configuration"
|
||||
],
|
||||
"homepage": "https://www.d3data.de",
|
||||
"license": [
|
||||
"GPL-3.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Marat Bedoev",
|
||||
"email": "hello@mb-dev.pro"
|
||||
},
|
||||
{
|
||||
"name": "D3 Data Development (Inh. Thomas Dartsch)",
|
||||
"email": "info@shopmodule.com",
|
||||
"homepage": "https://www.d3data.de"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "support@shopmodule.com"
|
||||
},
|
||||
"extra": {
|
||||
"oxideshop": {
|
||||
"blacklist-filter": [
|
||||
"*.md",
|
||||
"composer.json",
|
||||
".php-cs-fixer.php",
|
||||
"*.xml",
|
||||
"*.neon"
|
||||
],
|
||||
"target-directory": "d3/googleanalytics4"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"oxid-esales/oxideshop-ce": "v6.0 - v6.3",
|
||||
"google/apiclient":"^2.0",
|
||||
"phpstan/phpstan": "^1.8"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"D3\\GoogleAnalytics4\\": "../../../source/modules/d3/googleanalytics4"
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "d3/google-analytics4",
|
||||
"description": "Google Tag Manager with new Google Analytics 4 for OXID eShop v6",
|
||||
"type": "oxideshop-module",
|
||||
"keywords": [
|
||||
"oxid",
|
||||
"modules",
|
||||
"eShop",
|
||||
"d3",
|
||||
"google",
|
||||
"ga4",
|
||||
"googleanalytics",
|
||||
"gtm",
|
||||
"configuration"
|
||||
],
|
||||
"homepage": "https://www.d3data.de",
|
||||
"license": [
|
||||
"GPL-3.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Marat Bedoev",
|
||||
"email": "hello@mb-dev.pro"
|
||||
},
|
||||
{
|
||||
"name": "D3 Data Development (Inh. Thomas Dartsch)",
|
||||
"email": "info@shopmodule.com",
|
||||
"homepage": "https://www.d3data.de"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "support@shopmodule.com"
|
||||
},
|
||||
"extra": {
|
||||
"oxideshop": {
|
||||
"blacklist-filter": [
|
||||
"*.md",
|
||||
"composer.json",
|
||||
".php-cs-fixer.php",
|
||||
"*.xml",
|
||||
"*.neon"
|
||||
],
|
||||
"target-directory": "d3/googleanalytics4"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"oxid-esales/oxideshop-ce": "^6.5",
|
||||
"google/apiclient":" ^2.0",
|
||||
"phpstan/phpstan": "^1.10"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"D3\\GoogleAnalytics4\\": "../../../source/modules/d3/googleanalytics4"
|
||||
}
|
||||
}
|
||||
}
|
15
metadata.php
15
metadata.php
|
@ -48,7 +48,7 @@ $aModule = [
|
|||
Die Entwicklung basiert auf einem Fork von Marat Bedoev - <a href='https://github.com/vanilla-thunder/oxid-module-gtm'>Github-Link</a>
|
||||
",
|
||||
'thumbnail' => 'thumbnail.png',
|
||||
'version' => '1.16.0',
|
||||
'version' => '2.15.0',
|
||||
'author' => 'Data Development (Inh.: Thomas Dartsch)',
|
||||
'email' => 'support@shopmodule.com',
|
||||
'url' => 'https://www.oxidmodule.com/',
|
||||
|
@ -210,18 +210,5 @@ $aModule = [
|
|||
'value' => 'none',
|
||||
'constraints' => 'NONE|CONSENTMANAGER|USERCENTRICS|COOKIEFIRST|COOKIEBOT',
|
||||
],
|
||||
// OST929760 - Erweiterung für Serverside Tagging
|
||||
[
|
||||
'group' => 'd3_gtm_settings_serversidetagging',
|
||||
'name' => 'd3_gtm_settings_serversidetagging_js',
|
||||
'type' => 'str',
|
||||
'value' => 'https://www.googletagmanager.com/gtm.js',
|
||||
],
|
||||
[
|
||||
'group' => 'd3_gtm_settings_serversidetagging',
|
||||
'name' => 'd3_gtm_settings_serversidetagging_nojs',
|
||||
'type' => 'str',
|
||||
'value' => 'https://www.googletagmanager.com/ns.html',
|
||||
],
|
||||
]
|
||||
];
|
11
phpstan.neon
11
phpstan.neon
|
@ -1,16 +1,15 @@
|
|||
parameters:
|
||||
scanFiles:
|
||||
- IntelliSenseHelper.php
|
||||
- ../../../../Shops/CE/6.1.x/616_/vendor/oxid-esales/oxideshop-ce/source/bootstrap.php
|
||||
- ../../../../Shops/CE/6.1.x/616_/vendor/oxid-esales/oxideshop-ce/source/oxfunctions.php
|
||||
- ../../../../Shops/CE/6.1.x/616_/vendor/oxid-esales/oxideshop-ce/source/overridablefunctions.php
|
||||
- ../../oxid-esales/oxideshop-ce/source/bootstrap.php
|
||||
- ../../oxid-esales/oxideshop-ce/source/oxfunctions.php
|
||||
- ../../oxid-esales/oxideshop-ce/source/overridablefunctions.php
|
||||
scanDirectories:
|
||||
- ../../../../Shops/CE/6.1.x/616_/vendor/oxid-esales
|
||||
- ../../oxid-esales
|
||||
ignoreErrors:
|
||||
- '#.*is not subtype of Throwable.*#'
|
||||
- '#\$sValue of method OxidEsales\\EshopCommunity\\Core\\Controller\\BaseController::addTplParam\(\) expects string,[ a-zA-Z\.]+#'
|
||||
paths:
|
||||
- ./
|
||||
level: 5
|
||||
phpVersion: 70200
|
||||
phpVersion: 80100
|
||||
checkMissingIterableValueType: false
|
||||
|
|
Loading…
Reference in New Issue