Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: OIL.js Cookie Consent Management

    Peter33

    • Fördermitglied
    • Beiträge: 73
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #210 am: 31. August 2020, 18:55:48
    @hpzeller

    ich habe deine Codes ausführlich getestet, noch ein bisschen rumexperimentiert und bin zu folgenden Ergebnissen gekommen. Es funktioniert teilweise, aber

    1. habe ich dein Code (Antwort #196) für diese Datei /templates/dein_template/javascript/general_bottom.js.php in eine neue Datei (matomo_oil.js.php) reingepackt und in dem Ordner /templates/dein_template/javascript/extra/ abgelegt.

    2. dieser Code  ab ca. Zeile 26 funktioniert nur mit folgender Änderung:

    diese Sequenz

    Code: Javascript  [Auswählen]
    $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).attr('type','text/javascript');

    mit diese ersetzt:

    Code: Javascript  [Auswählen]
    $('#matomo').text(text.replace("/\/\ \_paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).attr('type','text/javascript');

    denn die zwei forward slash störten bei der Erkennung des strings.  Dadurch kommt es jetzt zum switchen, was vorher nicht funktioniert hatte. Auch wenn der Browser (F12) den richtigen Matomo-Code nach dem Switchen anzeigt, scheint Matomo diese Änderung aber zu ignorieren, also es wird kein Matomo Cookie gesetzt.

    3. Da das Ganze aber sowieso nicht mit dem Speicher-Bottom des Consent Popup funktionierte, habe ich in der Datei /templates/dein_template/JavaScript/extra/matomo_oil.js.php  ab ca. Zeile 31 diese Sequenz

    Code: Javascript  [Auswählen]
    $('.as-oil__btn-optin').click(function() {

    durch diese testweise ersetzt :

    Code: Javascript  [Auswählen]
    $('.cart_02').click(function() {

    Also  den Dropdown vom Warenkorb zum Testen missbraucht. Könnte das Problem daran liegen, dass sich der Speicher-Buttom in dem Consent Popup befindet?

    Grüße
    Peter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #211 am: 01. September 2020, 08:34:12
    Hallo Peter,

    die Codevorschläge die ich bis jetzt gepostet hatte konnte ich nicht testen, aber jetzt habe ich das Modul aus Beitrag 1 in einen Shop eigebaut, folgendes funktioniert in meinem Testshop.

    In der Datei /includes/external/smarty/plugins/function.piwik.php ab ca. Zeile 55 folgende Codesequenz:

    Code: PHP  [Auswählen]
      $beginCode = '<script>';
      if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) {
        $beginCode = '<script async data-type="text/javascript" type="as-oil" data-purposes="7" data-managed="as-oil">';
      }
      $beginCode .= '
          var _paq = _paq || [];
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);'
    ."\n";

    mit dieser Codesequenz ersetzen:

    Code: PHP  [Auswählen]
      $beginCode = '<script>';
      if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) {
        $beginCode = '<div id="script-wrapper"><script async data-type="text/javascript" type="as-oil" data-purposes="7" data-managed="as-oil"></script></div>'."\n".
                     '<script id="matomo" type="text/plain">';                        
      }
           
      $beginCode .= '
          var _paq = _paq || [];
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
            // _paq.push([\'disableCookies\']);
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);'
    ."\n";

    Dann in der Datei /templates/dein_template/javascript/general_bottom.js.php ganz am Ende, also nach "?>" folgenden Code einfügen.

    Code: PHP  [Auswählen]
    <?php if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) { ?>
    <script>  
      $(document).ready(function(){

        function getCookie(cname) {
          var name = cname + "=";
          var decodedCookie = decodeURIComponent(document.cookie);
          var ca = decodedCookie.split(';');
          for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
              c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
              return c.substring(name.length, c.length);
            }
          }
          return "";
        }

        (function () {
          var oilCookie = getCookie('oil_data');
          var type = $('#script-wrapper > script').attr('type');
          var text = $('#matomo').text();
          if (oilCookie != "") {
            if (type == 'as-oil') {
              $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            } else if (type == 'text/javascript' || type == null) {
              $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            }
          }
        })();

        $('#script-wrapper').on('DOMSubtreeModified', function(){
          setTimeout(function() {
            var oilCookie = getCookie('oil_data');
            var type = $('#script-wrapper > script').attr('type');
            var text = $('#matomo').text();
            if (oilCookie != "") {
              if (type == 'as-oil') {
                $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              } else if (type == 'text/javascript' || type == null) {
                $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              }
            }
          }, 100);
        });

      });
    </script>
    <?php } ?>

    Wichtig:
    Wenn du obigen Code in eine eigene Datei im Ordner /templates/dein_template/javascript/extra/ auslagerst, musst du die JavaScript Komprimierung abschalten, weil der Compactor mit den slashes hier -> "// _paq.push(['disableCookies']);" nicht klar kommt.

    Gruss
    Hanspeter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #212 am: 01. September 2020, 10:07:29
    [...]
    Wichtig:
    Wenn du obigen Code in eine eigene Datei im Ordner /templates/dein_template/javascript/extra/ auslagerst, musst du die JavaScript Komprimierung abschalten, weil der Compactor mit den slashes hier -> "// _paq.push(['disableCookies']);" nicht klar kommt.
    [...]

    Das sollte mir Shopversion 2.0.5.1 eigentlich funktionieren, siehe Ticket #930. Hattest du das mit dem angehängten Changeset mal in deinem vermutlich älteren Testshop getestet?

    Grüße

    Torsten

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #213 am: 01. September 2020, 12:59:11
    Der Shop hat Version 2.0.5.1.

    Gruss
    Hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #214 am: 01. September 2020, 13:02:19
    Hallo Peter,

    habe den Code nochmals umgeschrieben, jetzt kann ihm der Compactor nichts mehr anhaben.

    In der Datei /includes/external/smarty/plugins/function.piwik.php ab ca. Zeile 55 folgende Codesequenz:

    Code: PHP  [Auswählen]
      $beginCode = '<script>';
      if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) {
        $beginCode = '<script async data-type="text/javascript" type="as-oil" data-purposes="7" data-managed="as-oil">';
      }
      $beginCode .= '
          var _paq = _paq || [];
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);'
    ."\n";

    mit dieser Codesequenz ersetzen,

    Code: PHP  [Auswählen]
      $beginCode = '<script>';
      if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) {
        $beginCode = '<div id="script-wrapper"><script async data-type="text/javascript" type="as-oil" data-purposes="7" data-managed="as-oil"></script></div>'."\n".
                     '<script id="matomo" type="text/plain">';                      
      }
         
      $beginCode .= '
          var _paq = _paq || [];
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);'
    ."\n";

    den folgenden Code kannst du in der Datei /templates/dein_template/javascript/general_bottom.js.php ganz am Ende, also nach "?>" einfügen, alternativ kannst du den Code auch in eine eigene Datei im Ordner /templates/dein_template/javascript/extra/ einfügen.

    Code: PHP  [Auswählen]
    <?php if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) { ?>
    <script>  
      $(document).ready(function(){

        function getCookie(cname) {
          var name = cname + "=";
          var decodedCookie = decodeURIComponent(document.cookie);
          var ca = decodedCookie.split(';');
          for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
              c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
              return c.substring(name.length, c.length);
            }
          }
          return "";
        }

        (function () {
          var oilCookie = getCookie('oil_data');
          var type = $('#script-wrapper > script').attr('type');
          var text = $('#matomo').text();
          if (oilCookie != "") {
            if (type == 'as-oil' && text.includes("disableCookies") == false) {
              $('#matomo').text(text.replace("_paq.push([\'trackPageView\']);", "_paq.push([\'trackPageView\']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            } else if (type == 'text/javascript' || type == null) {
              $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            }
          }
        })();

        $('#script-wrapper').on('DOMSubtreeModified', function(){
          setTimeout(function() {
            var oilCookie = getCookie('oil_data');
            var type = $('#script-wrapper > script').attr('type');
            var text = $('#matomo').text();
            if (oilCookie != "") {
              if (type == 'as-oil' && text.includes("disableCookies") == false) {
                $('#matomo').text(text.replace("_paq.push([\'trackPageView\']);", "_paq.push([\'trackPageView\']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              } else if (type == 'text/javascript' || type == null) {
                $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              }
            }
          }, 100);
        });

      });
    </script>
    <?php } ?>

    Gruss
    Hanspeter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #215 am: 01. September 2020, 13:13:41
    Der Shop hat Version 2.0.5.1.
    [...]

    Und da hattest du Probleme mit Doppelslashes im Javascript bei eingeschalteter Javascript Komprimierung!?
    Oder war das einfach dazu geschrieben, da du wusstest, dass die Javascript Komprimierung mal Probleme bereitet hat bei Doppelslashes?

    Grüße

    Torsten

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #216 am: 01. September 2020, 14:22:06
    Hallo Torsten,

    dieses Skript, eingebaut in eine eigene Datei im Ordner /templates/dein_template/javascript/extra/,

    Code: PHP  [Auswählen]
    <?php if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) { ?>
    <script>  
      $(document).ready(function(){

        function getCookie(cname) {
          var name = cname + "=";
          var decodedCookie = decodeURIComponent(document.cookie);
          var ca = decodedCookie.split(';');
          for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
              c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
              return c.substring(name.length, c.length);
            }
          }
          return "";
        }

        (function () {
          var oilCookie = getCookie('oil_data');
          var type = $('#script-wrapper > script').attr('type');
          var text = $('#matomo').text();
          if (oilCookie != "") {
            if (type == 'as-oil') {
              $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            } else if (type == 'text/javascript' || type == null) {
              $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            }
          }
        })();

        $('#script-wrapper').on('DOMSubtreeModified', function(){
          setTimeout(function() {
            var oilCookie = getCookie('oil_data');
            var type = $('#script-wrapper > script').attr('type');
            var text = $('#matomo').text();
            if (oilCookie != "") {
              if (type == 'as-oil') {
                $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              } else if (type == 'text/javascript' || type == null) {
                $('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              }
            }
          }, 100);
        });

      });
    </script>
    <?php } ?>

    sieht nach dem komprimieren im gesendeten HTML-Dokument so aus.

    Code: PHP  [Auswählen]
    <script>$(document).ready(function(){function getCookie(cname){var name=cname+"=";var decodedCookie=decodeURIComponent(document.cookie);var ca=decodedCookie.split(';');for(var i=0;i < ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1);}if(c.indexOf(name)==0){return c.substring(name.length, c.length);}}return "";}(function(){var oilCookie=getCookie('oil_data');var type=$('#script-wrapper > script').attr('type');var text=$('#matomo').text();if(oilCookie !=""){if(type=='as-oil'){$('#matomo').text(text.replace(}else if(type=='text/javascript' || type==null){$('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);}}})();$('#script-wrapper').on('DOMSubtreeModified', function(){setTimeout(function(){var oilCookie=getCookie('oil_data');var type=$('#script-wrapper > script').attr('type');var text=$('#matomo').text();if(oilCookie !=""){if(type=='as-oil'){$('#matomo').text(text.replace(}else if(type=='text/javascript' || type==null){$('#matomo').removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);}}}, 100);});});</script>

    Die beiden Fehlerstellen welche im Quelltext so aussehen,

    Code: PHP  [Auswählen]
      $('#matomo').text(text.replace("// _paq.push(['disableCookies']);", "_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
    } else

    sehen nach der Komprimierung so aus.

    Code: PHP  [Auswählen]
    {$('#matomo').text(text.replace(}else

    Also alles von den Doppelslashes bis zum Ende der Zeile wird entfernt.

    Gruss
    Hanspeter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #217 am: 01. September 2020, 15:58:09
    Ufffff... das wird an dieser Stelle schwer abzufangen sein, aber ich packe es mir mal auf die interne ToDo-Liste.

    Grüße

    Torsten

    Peter33

    • Fördermitglied
    • Beiträge: 73
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #218 am: 01. September 2020, 16:27:07
    @hpzeller

    Hallo Hanspeter,

    ich habe deine Codes jetzt eingebaut und es funktioniert einwandfrei. Vielleicht noch eine Kleinigkeit: Wenn man das erste Mal den Shop betritt und noch nichts im Consent Tool ausgewählt hat, wird dieser erste Seitenzugriff noch nicht von Matomo getrackt. Es gibt aber des öfteren Besucher, die sofort wieder abspringen. Die würde man in der Matomo-Statistik nicht sehen. Wäre es möglich, den Code so zu modifizieren, dass das Tracking (ohne Cookie) sofort beginnt?

    Grüße
    Peter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #219 am: 02. September 2020, 00:33:45
    Hallo Peter,

    ich denke der folgende modifizierte Code könnte deinem Wunsch entsprechen.

    Code: PHP  [Auswählen]
    <?php if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) { ?>
    <script>  
      $(document).ready(function(){

        function getCookie(cname) {
          var name = cname + "=";
          var decodedCookie = decodeURIComponent(document.cookie);
          var ca = decodedCookie.split(';');
          for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
              c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
              return c.substring(name.length, c.length);
            }
          }
          return "";
        }

        (function () {
          var oilCookie = getCookie('oil_data');
          var type = $('#script-wrapper > script').attr('type');
          var text = $('#matomo').text();
          if (oilCookie != "") {
            if (type == 'as-oil' && text.includes("disableCookies") == false) {
              $('#matomo').text(text.replace("_paq.push([\'trackPageView\']);", "_paq.push([\'trackPageView\']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            } else if (type == 'text/javascript' || type == null) {
              $('#matomo').text(text.replace("\n\t\t_paq.push(['disableCookies']);", "")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            }
          } else {
            $('#matomo').text(text.replace("_paq.push([\'trackPageView\']);", "_paq.push([\'trackPageView\']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);        
          }
        })();

        $('#script-wrapper').on('DOMSubtreeModified', function(){
          setTimeout(function() {
            var oilCookie = getCookie('oil_data');
            var type = $('#script-wrapper > script').attr('type');
            var text = $('#matomo').text();
            if (oilCookie != "" && $('#matomo').attr('type') == 'text/plain') {
              if (type == 'as-oil' && text.includes("disableCookies") == false) {
                $('#matomo').text(text.replace("_paq.push([\'trackPageView\']);", "_paq.push([\'trackPageView\']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              } else if (type == 'text/javascript' || type == null) {
                $('#matomo').text(text.replace("\n\t\t_paq.push(['disableCookies']);", "")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              }
            }
          }, 100);
        });

      });
    </script>
    <?php } ?>

    Gruss
    Hanspeter

    Peter33

    • Fördermitglied
    • Beiträge: 73
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #220 am: 02. September 2020, 16:28:36
    Hallo Hanspeter,

    super, jetzt läuft es genauso wie ich mir das gewünscht hatte. Vielleicht hilft die Funktion auch den einen oder anderen. Kann ich Dir für deine Hilfe irgendwie eine kleine Spende zukommen lassen?

    Grüße
    Peter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #221 am: 02. September 2020, 20:51:49
    Hallo Peter,

    freut mich wenn es so funktioniert wie du das gewünscht hast, mir persönlich brauchst du nichts zu spenden, wenn du aber deinen Geldbeutel etwas erleichtern möchtest kannst du das hier tun.

    Gruss
    Hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #222 am: 03. September 2020, 10:47:48
    Hallo Peter,

    der Code aus meiner Antwort #219 funktioniert, hat aber noch einen Schönheitsfehler, den habe ich im folgenden Code jetzt noch korrigiert.

    Code: PHP  [Auswählen]
    <?php if (defined('MODULE_COOKIE_CONSENT_STATUS') && strtolower(MODULE_COOKIE_CONSENT_STATUS) == 'true' && (in_array(7, $_SESSION['tracking']['allowed']) || defined('COOKIE_CONSENT_NO_TRACKING'))) { ?>
    <script>  
      $(document).ready(function(){

        function getCookie(cname) {
          var name = cname + "=";
          var decodedCookie = decodeURIComponent(document.cookie);
          var ca = decodedCookie.split(';');
          for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
              c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
              return c.substring(name.length, c.length);
            }
          }
          return "";
        }

        (function () {
          var oilCookie = getCookie('oil_data');
          var type = $('#script-wrapper > script').attr('type');
          var text = $('#matomo').text();
          if (oilCookie != "") {
            if (type == 'as-oil' && text.includes("disableCookies") == false) {
              $('#matomo').text(text.replace("_paq.push(['trackPageView']);", "_paq.push(['trackPageView']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            } else if (type == 'text/javascript' || type == null) {
              $('#matomo').text(text.replace("\n\t\t_paq.push(['disableCookies']);", "")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
            }
          } else {
            $('#matomo').text(text.replace("_paq.push(['trackPageView']);", "_paq.push(['trackPageView']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);        
          }
        })();

        $('#script-wrapper').on('DOMSubtreeModified', function(){
          setTimeout(function() {
            var oilCookie = getCookie('oil_data');
            var type = $('#script-wrapper > script').attr('type');
            var text = $('#matomo').text();
            if (oilCookie != "" && $('#matomo').attr('type') == 'text/plain') {
              if (type == 'as-oil' && text.includes("disableCookies") == false) {
                $('#matomo').text(text.replace("_paq.push(['trackPageView']);", "_paq.push(['trackPageView']);\n\t\t_paq.push(['disableCookies']);")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              } else if (type == 'text/javascript' || type == null) {
                $('#matomo').text(text.replace("\n\t\t_paq.push(['disableCookies']);", "")).removeAttr('type').replaceWith(document.getElementById("matomo").outerHTML);              
              }
            }
          }, 100);
        });

      });
    </script>
    <?php } ?>

    Gruss
    Hanspeter

    Jürgen

    • Viel Schreiber
    • Beiträge: 891
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #223 am: 03. September 2020, 18:24:09
    Hallo zusammen,

    ich habe das jetzt mal in meinem 2.0.3.0 Shop installiert...

    Hat auch zuerst alles "optisch" soweit funktioniert, soweit ich das sehen konnte...

    Jetzt bekomme ich "plötzlich" Fehler in der Konsole und der angezeigte Text
    ist jetz in englisch und in der art (inhaltlich) auch nicht in den /lang files zu finden.... :glaskugel:

    Neuinstallation? Oder hat jemand einen Hinweis/Hilfe

    Danke

    Gruß

    Jürgen

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    [EDIT Tomcraft 03.09.2020: Shopversion korrigiert, siehe: FAQ: Wichtiger Hinweis bzgl. Angabe der Shopversion!]

    Jürgen

    • Viel Schreiber
    • Beiträge: 891
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #224 am: 03. September 2020, 18:31:13
    Hab da noch einen screenshot von der Konsole mit den Fehlern angehängt....

    [ Für Gäste sind keine Dateianhänge sichtbar ]
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
    11 Antworten
    2488 Aufrufe
    10. Dezember 2021, 21:55:58 von gdl-joe
    11 Antworten
    3303 Aufrufe
    17. Dezember 2021, 12:40:07 von Pixelknecht
    8 Antworten
    1358 Aufrufe
    16. Oktober 2023, 16:47:54 von Tomcraft
    2 Antworten
    766 Aufrufe
    07. Oktober 2022, 13:16:22 von Viol
               
    anything