Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
b3f2446a7d | |||
ce1614996a | |||
ec2d43ff3c | |||
c32c66322f | |||
8079eee236 | |||
00c0bd2497 | |||
76eeb0d5bd | |||
0baa44e5d7 | |||
a38dcb8e45 | |||
1ae5a9d926 |
11
Application/Model/Constants.php
Normal file
11
Application/Model/Constants.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace D3\GoogleAnalytics4\Application\Model;
|
||||||
|
|
||||||
|
|
||||||
|
class Constants
|
||||||
|
{
|
||||||
|
public const OXID_MODULE_ID = 'd3googleanalytics4';
|
||||||
|
}
|
@ -95,5 +95,10 @@ src="{Domain}?id={Container-ID}"
|
|||||||
<strong>Beachte:</strong><br>
|
<strong>Beachte:</strong><br>
|
||||||
Sofern Sie die <a target="_blank" href="https://consentmanager.net" style="color: blue">consentmanager</a> CMP verwenden,
|
Sofern Sie die <a target="_blank" href="https://consentmanager.net" style="color: blue">consentmanager</a> CMP verwenden,
|
||||||
bitte ich Sie, gründlichst, die Hinweise der <a target="_blank" href="https://git.d3data.de/D3Public/GoogleAnalytics4/src/branch/master/Docs/CMP/consentmanager.md">Moduldokumentation/Consentmanager</a> zu lesen.
|
bitte ich Sie, gründlichst, die Hinweise der <a target="_blank" href="https://git.d3data.de/D3Public/GoogleAnalytics4/src/branch/master/Docs/CMP/consentmanager.md">Moduldokumentation/Consentmanager</a> zu lesen.
|
||||||
'
|
',
|
||||||
|
'SHOP_MODULE_d3_gtm_blActivateConsentMode' => "Google Consent Mode 'Default Values' aktivieren",
|
||||||
|
'HELP_SHOP_MODULE_d3_gtm_blActivateConsentMode' => 'Diese Einstellung ist zu aktivieren, wenn Sie den Google-Consent-Mode ( Einwilligungsmodus ) verwenden wollen.
|
||||||
|
<hr>
|
||||||
|
"Im Einwilligungsmodus können Sie Google über den Cookie- oder App-ID-Einwilligungsstatus Ihrer Nutzer informieren.
|
||||||
|
Mit Tags wird das Verhalten angepasst. Dabei werden die Einstellungen der Nutzer berücksichtigt." ~ <a href="https://support.google.com/google-ads/answer/10000067">Google Einwilligungsmodus</a>',
|
||||||
];
|
];
|
||||||
|
@ -3,9 +3,28 @@
|
|||||||
var dataLayer = [{$oViewConf->getGtmDataLayer()}] || [];
|
var dataLayer = [{$oViewConf->getGtmDataLayer()}] || [];
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
[{assign var="d3GtmContainerIdString" value=$oViewConf->getGtmContainerId()}]
|
||||||
|
|
||||||
[{if $oViewConf->D3blShowGtmScript()}]
|
[{if $oViewConf->D3blShowGtmScript()}]
|
||||||
[{if $oViewConf->getGtmContainerId()}]
|
[{if $d3GtmContainerIdString}]
|
||||||
[{strip}]
|
[{strip}]
|
||||||
|
|
||||||
|
[{if $oViewConf->isGtmConsentModeSetActivated()}]
|
||||||
|
<script>
|
||||||
|
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
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
[{/if}]
|
||||||
|
|
||||||
<!-- Google Tag Manager -->
|
<!-- Google Tag Manager -->
|
||||||
<script [{$oViewConf->getGtmScriptAttributes()}]>
|
<script [{$oViewConf->getGtmScriptAttributes()}]>
|
||||||
(function (w, d, s, l, i) {
|
(function (w, d, s, l, i) {
|
||||||
@ -15,7 +34,7 @@
|
|||||||
j.async = true;
|
j.async = true;
|
||||||
j.src = '[{$oViewConf->getServerSidetaggingJsDomain()}]?id=' + i + dl;
|
j.src = '[{$oViewConf->getServerSidetaggingJsDomain()}]?id=' + i + dl;
|
||||||
f.parentNode.insertBefore(j, f);
|
f.parentNode.insertBefore(j, f);
|
||||||
})(window, document, 'script', 'dataLayer', '[{$oViewConf->getGtmContainerId()}]');
|
})(window, document, 'script', 'dataLayer', '[{$d3GtmContainerIdString}]');
|
||||||
</script>
|
</script>
|
||||||
<!-- End Google Tag Manager -->
|
<!-- End Google Tag Manager -->
|
||||||
[{/strip}]
|
[{/strip}]
|
||||||
|
13
CHANGELOG.md
13
CHANGELOG.md
@ -4,6 +4,19 @@ 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/),
|
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).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [2.17.1](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.17.0...2.17.1) - 2024-04-10
|
||||||
|
### Fixed
|
||||||
|
- second call of getGtmContainerId() ( returned false )
|
||||||
|
|
||||||
|
## [2.17.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.16.0...2.17.0) - 2024-04-10
|
||||||
|
### Added
|
||||||
|
- Google-Analytics default values
|
||||||
|
- default values switch ( admin module settings )
|
||||||
|
- translations
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
- centralized metadata-id
|
||||||
|
|
||||||
## [2.16.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.15.0...2.16.0) - 2024-03-20
|
## [2.16.0](https://git.d3data.de/D3Public/GoogleAnalytics4/compare/2.15.0...2.16.0) - 2024-03-20
|
||||||
### Added
|
### Added
|
||||||
- ( Google ) Server-Side tagging usability
|
- ( Google ) Server-Side tagging usability
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
namespace D3\GoogleAnalytics4\Modules\Core;
|
namespace D3\GoogleAnalytics4\Modules\Core;
|
||||||
|
|
||||||
|
use D3\GoogleAnalytics4\Application\Model\Constants;
|
||||||
use D3\GoogleAnalytics4\Application\Model\ManagerHandler;
|
use D3\GoogleAnalytics4\Application\Model\ManagerHandler;
|
||||||
use D3\GoogleAnalytics4\Application\Model\ManagerTypes;
|
use D3\GoogleAnalytics4\Application\Model\ManagerTypes;
|
||||||
use OxidEsales\Eshop\Application\Controller\FrontendController;
|
use OxidEsales\Eshop\Application\Controller\FrontendController;
|
||||||
@ -36,7 +37,7 @@ class ViewConfig extends ViewConfig_parent
|
|||||||
$this->sContainerId = ContainerFactory::getInstance()
|
$this->sContainerId = ContainerFactory::getInstance()
|
||||||
->getContainer()
|
->getContainer()
|
||||||
->get(ModuleSettingBridgeInterface::class)
|
->get(ModuleSettingBridgeInterface::class)
|
||||||
->get('d3_gtm_sContainerID', 'd3googleanalytics4');
|
->get('d3_gtm_sContainerID', Constants::OXID_MODULE_ID);
|
||||||
}
|
}
|
||||||
return $this->sContainerId;
|
return $this->sContainerId;
|
||||||
}
|
}
|
||||||
@ -162,12 +163,20 @@ class ViewConfig extends ViewConfig_parent
|
|||||||
$this->sContainerId = ContainerFactory::getInstance()
|
$this->sContainerId = ContainerFactory::getInstance()
|
||||||
->getContainer()
|
->getContainer()
|
||||||
->get(ModuleSettingBridgeInterface::class)
|
->get(ModuleSettingBridgeInterface::class)
|
||||||
->get('d3_gtm_blEnableGA4', 'd3googleanalytics4');
|
->get('d3_gtm_blEnableGA4', Constants::OXID_MODULE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->blGA4enabled;
|
return $this->blGA4enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isGtmConsentModeSetActivated() :bool
|
||||||
|
{
|
||||||
|
return $this->sContainerId = ContainerFactory::getInstance()
|
||||||
|
->getContainer()
|
||||||
|
->get(ModuleSettingBridgeInterface::class)
|
||||||
|
->get('d3_gtm_blActivateConsentMode', Constants::OXID_MODULE_ID);
|
||||||
|
}
|
||||||
|
|
||||||
public function getGtmDataLayer()
|
public function getGtmDataLayer()
|
||||||
{
|
{
|
||||||
if (!$this->getGtmContainerId()) return "[]";
|
if (!$this->getGtmContainerId()) return "[]";
|
||||||
@ -226,7 +235,7 @@ class ViewConfig extends ViewConfig_parent
|
|||||||
return ContainerFactory::getInstance()
|
return ContainerFactory::getInstance()
|
||||||
->getContainer()
|
->getContainer()
|
||||||
->get(ModuleSettingBridgeInterface::class)
|
->get(ModuleSettingBridgeInterface::class)
|
||||||
->get('d3_gtm_settings_serversidetagging_js', 'd3googleanalytics4');
|
->get('d3_gtm_settings_serversidetagging_js', Constants::OXID_MODULE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -239,6 +248,6 @@ class ViewConfig extends ViewConfig_parent
|
|||||||
return ContainerFactory::getInstance()
|
return ContainerFactory::getInstance()
|
||||||
->getContainer()
|
->getContainer()
|
||||||
->get(ModuleSettingBridgeInterface::class)
|
->get(ModuleSettingBridgeInterface::class)
|
||||||
->get('d3_gtm_settings_serversidetagging_nojs', 'd3googleanalytics4');
|
->get('d3_gtm_settings_serversidetagging_nojs', Constants::OXID_MODULE_ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
12
metadata.php
12
metadata.php
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use D3\GoogleAnalytics4\Application\Model\Constants as Constants;
|
||||||
use D3\GoogleAnalytics4\Modules\Application\Component\d3GtmBasketComponentExtension;
|
use D3\GoogleAnalytics4\Modules\Application\Component\d3GtmBasketComponentExtension;
|
||||||
use D3\GoogleAnalytics4\Modules\Application\Component\Widget\d3GtmWidgetArticleDetails as d3GtmWidgetArticleDetails;
|
use D3\GoogleAnalytics4\Modules\Application\Component\Widget\d3GtmWidgetArticleDetails as d3GtmWidgetArticleDetails;
|
||||||
use D3\GoogleAnalytics4\Modules\Application\Controller\ArticleDetailsController;
|
use D3\GoogleAnalytics4\Modules\Application\Controller\ArticleDetailsController;
|
||||||
@ -35,7 +36,7 @@ use OxidEsales\Eshop\Core\ViewConfig as OEViewConfig;
|
|||||||
|
|
||||||
$sMetadataVersion = '2.1';
|
$sMetadataVersion = '2.1';
|
||||||
$aModule = [
|
$aModule = [
|
||||||
'id' => 'd3googleanalytics4',
|
'id' => Constants::OXID_MODULE_ID,
|
||||||
'title' => 'Google Analytics 4',
|
'title' => 'Google Analytics 4',
|
||||||
'description' => "Dieses Modul bietet die Möglichkeit in Ihrem OXID eShop (6.x) die neue 'Property'
|
'description' => "Dieses Modul bietet die Möglichkeit in Ihrem OXID eShop (6.x) die neue 'Property'
|
||||||
Google Analytics 4 (GA4) von Google zu integrieren.<br>
|
Google Analytics 4 (GA4) von Google zu integrieren.<br>
|
||||||
@ -48,7 +49,7 @@ $aModule = [
|
|||||||
Die Entwicklung basiert auf einem Fork von Marat Bedoev - <a href='https://github.com/vanilla-thunder/oxid-module-gtm'>Github-Link</a>
|
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',
|
'thumbnail' => 'thumbnail.png',
|
||||||
'version' => '2.16.0',
|
'version' => '2.17.1',
|
||||||
'author' => 'Data Development (Inh.: Thomas Dartsch)',
|
'author' => 'Data Development (Inh.: Thomas Dartsch)',
|
||||||
'email' => 'support@shopmodule.com',
|
'email' => 'support@shopmodule.com',
|
||||||
'url' => 'https://www.oxidmodule.com/',
|
'url' => 'https://www.oxidmodule.com/',
|
||||||
@ -189,6 +190,13 @@ $aModule = [
|
|||||||
'value' => false,
|
'value' => false,
|
||||||
'position' => 999
|
'position' => 999
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'group' => 'd3_gtm_settings',
|
||||||
|
'name' => 'd3_gtm_blActivateConsentMode',
|
||||||
|
'type' => 'bool',
|
||||||
|
'value' => false,
|
||||||
|
'position' => 999
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'group' => 'd3_gtm_settings_cookiemanager',
|
'group' => 'd3_gtm_settings_cookiemanager',
|
||||||
'name' => 'd3_gtm_settings_hasOwnCookieManager',
|
'name' => 'd3_gtm_settings_hasOwnCookieManager',
|
||||||
|
Reference in New Issue
Block a user