Ich habe nun diverse Versuche mit dem mitgelieferten Matomo Template unternommen.
Das standardmäßig im Template Ordner hinterlegt Template trägt den Namen analytics_piwik und ist wohl veraltet -> könntet ihr ja auch nicht mehr mitliefern?
Über neues Template im Backend lässt sich analytics_matomo neu anlegen ->
Dieses Template enthält keine OptIn-Funktion über den Privacy Manager.
Wenn ich hier eine solche analog Piwik-Template ergänzen will:
gibts Mecker, da die Privacymanager Variable nicht gefunden wird.
Ich habe daher nun auf einen Teil der Privacy Abfrage von den openstreetmap Templates zurückgegriffen mit (if(token.indexOf(2) >= 0):
Damit scheint es zumindest zu funktionieren.
Könntet ihr den mitgelieferten Code nochmals überprüfen und ggfs. eine neue Vorlage mitliefern. Ich bin nicht sicher, ob der Weg so nun passt und vor allem updatesicher ist.
Das standardmäßig im Template Ordner hinterlegt Template trägt den Namen analytics_piwik und ist wohl veraltet -> könntet ihr ja auch nicht mehr mitliefern?
Über neues Template im Backend lässt sich analytics_matomo neu anlegen ->
PHP-Code:
// To use this script, please fill in your Matomo site ID and Matomo URL below
$MatomoSite = 5;
$MatomoPath = "https://matomo.defaultpage.de/";
// DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
if ($MatomoSite > 0 && '//www.example.com/matomo/' != $MatomoPath && !BE_USER_LOGGED_IN && !$this->hasAuthenticatedBackendUser()): ?>
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u='<?= $MatomoPath ?>';
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', <?= $MatomoSite ?>]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<?php endif; ?>
Wenn ich hier eine solche analog Piwik-Template ergänzen will:
Code:
// Optin privacy setting token if( PrivacyManager.hasAccess(3) ) { initPiwik(); } // listen to privacy event jQuery(document).on('Privacy.changed',function(event,params) { if( PrivacyManager.hasAccess(3) ) { initPiwik(); } }); </script> <?php endif; ?>
Ich habe daher nun auf einen Teil der Privacy Abfrage von den openstreetmap Templates zurückgegriffen mit (if(token.indexOf(2) >= 0):
Code:
<?php /** * To use this script, please fill in your Piwik site ID and Piwik URL below */ $MatomoSite = 5; $MatomoPath = "https://matomo.defaultsite.de/"; /** * DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING! */ if (!BE_USER_LOGGED_IN && !$this->hasAuthenticatedBackendUser()): ?> <script> function initMatomo() { // add piwik pixel to the body var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u='<?= $MatomoPath ?>'; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', <?= $MatomoSite ?>]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); } var token = localStorage.getItem('user_privacy_settings'); if( token == undefined ) { token = ''; } if(token.indexOf(2) >= 0) { initMatomo(); } </script> <?php endif; ?>
Könntet ihr den mitgelieferten Code nochmals überprüfen und ggfs. eine neue Vorlage mitliefern. Ich bin nicht sicher, ob der Weg so nun passt und vor allem updatesicher ist.
Kommentar