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: ANLEITUNG: Cookie Banner mit Einwilligung für Google Analytics, Matomo & Facebook

    Sergio Mueller

    • Mitglied
    • Beiträge: 178
    ...Also es liegt scheinbar daran das das Paypal Plus Modul auch ein oder mehrere "essentielle" Cookies setzt.
    Ich habe jetzt vorerst mal folgende Cookies noch mit auf die Liste der Essentiellen gesetzt (In der Funktion DeleteCookies):  "LANG","SEGM","WELCOME_ASYNC","paypalplus_session_v2". Welche "essentiell" sind müsste noch geklärt werden.
    Das ist jetzt nur mal eine schnelle Feldabhilfe für heute Nacht.

    Jetzt kommt auf jeden Fall keine weiße Paypalseite mehr.

    Außerdem hat Paypal wohl gerade auch ein Cookie-Consent eingeführt. Vielleicht hängt es damit zusammen ?
    Jetzt kommt bei mir neuerdings auch eine Cookie Abfrage sobald Paypal geöffnet wird.

    AGI

    • modified Team
    • Beiträge: 301
    • Geschlecht:
    Hi,
    ja, es wird aktuell ein PayPal-Cookie gelöscht, wenn die Cookies abgelehnt werden.

    Abhilfe schafft eine Anpassung des verwendeten Javascript:
    Lösung 1)
    Nehmt in eurem Template die Datei javascript/general_bottom.js.php und ersetzt diesen Code:

    Code: Javascript  [Auswählen]
    var essential = ["MODsid", "MODtest", "MODtrack"];

    durch:

    Code: Javascript  [Auswählen]
    var essential = ["MODsid", "MODtest", "MODtrack", "paypalplus_session_v2"];

    Lösung 2)

    Nehmt in eurem Template die Datei javascript/general_bottom.js.php und ersetzt diesen Code-Block:

    Code: Javascript  [Auswählen]
    function DeleteCookies() {
        var essential = ["MODsid", "MODtest", "MODtrack"];
        var cookies = document.cookie.split(";");
       
        for (var c = 0; c < cookies.length; c++) {
          var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);      
          for (var e = 0; e < essential.length; e++) {        
            if (cookie_name.indexOf(essential[e]) >= 0) {
              delete cookies[c];      
            }
          }
        }
       
        var cookies = cookies.filter(function (el) {
          return el != null;
        });
       
        if (cookies.length > 0) {
          for (var c = 0; c < cookies.length; c++) {
            var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);
            var d = window.location.hostname.split(".");
            while (d.length > 0) {
              var p = location.pathname.split('/');
              while (p.length > 0) {
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=' + p.join('/');
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ; path=' + p.join('/');
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=.' + d.join('.') + ' ; path=' + p.join('/');
                p.pop();
              };
              d.shift();
            }        
          }
        }
      }

    mit diesem hier

    Code: Javascript  [Auswählen]
    function DeleteCookies() {
        var essential = ["MODsid", "MODtest", "MODtrack"];
        var add_essentials_like = ["ga-disable%", "paypalplus%"];
        var cookies = document.cookie.split(";");
       
        //loop through add_essentials_like to add essential
        for (var i = 0; i < add_essentials_like.length; i++) {
          if(add_essentials_like[i].substr(-1) == '%') {
            var like_str = add_essentials_like[i].substr(0,add_essentials_like[i].length-1);
            for (var k = 0; k < cookies.length; k++) {
              var cookie = cookies[k];
              //Get the cookie name
              var eqPos = cookie.indexOf("=");
              var name = (eqPos > -1 ? cookie.substr(0, eqPos) : cookie).trim();
              if(name.indexOf(like_str) == 0)
                essential[essential.length] = name;
            }
          }
          else
            essential[essential.length] = add_essentials_like[i];
        }
       
        for (var c = 0; c < cookies.length; c++) {
          var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);      
          for (var e = 0; e < essential.length; e++) {        
            if (cookie_name.indexOf(essential[e]) >= 0) {
              delete cookies[c];      
            }
          }
        }

        var cookies = cookies.filter(function (el) {
          return el != null;
        });
       
        if (cookies.length > 0) {
          for (var c = 0; c < cookies.length; c++) {
            var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);
            var d = window.location.hostname.split(".");
            while (d.length > 0) {
              var p = location.pathname.split('/');
              while (p.length > 0) {
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=' + p.join('/');
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ; path=' + p.join('/');
                document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=.' + d.join('.') + ' ; path=' + p.join('/');
                p.pop();
              };
              d.shift();
            }        
          }
        }
      }

    In der Zeile "var add_essentials_like =" können Cookies hinzugefügt werden, deren Name nicht vollständig bekannt ist.
    Sollte der payPal-Plus Cookie einmal umbenannt werden, wird er dennoch nicht gelöscht, wenn er mit "paypalplus" beginnt.

    Viele Grüße
    Andreas

    Sergio Mueller

    • Mitglied
    • Beiträge: 178
    So ähnlich habe ich es gestern dann auch noch gemacht. Es reicht, wenn man in die essentials "paypal" mit reinschreibt.

    War das Problem denn bekannt oder ist das jetzt erst neu aufgetreten, weil Paypal was geändert hat?
    Ich möchte gar nicht wissen wieviele Kaufabbrüche ich deshalb im Shop hatte. wenn das PP-Cookie Problem schon länger bestand.... Ärgerlich das ich es nicht getestet hatte. Ich könnte mich selbst in den A**** beißen.

    AGI

    • modified Team
    • Beiträge: 301
    • Geschlecht:
    Stimmt, es genügt in der essential-Liste das "paypal" einzufügen.

    Code: Javascript  [Auswählen]
    var essential = ["MODsid", "MODtest", "MODtrack"];

    ersetzen mit

    Code: Javascript  [Auswählen]
    var essential = ["MODsid", "MODtest", "MODtrack", "paypal"];

    Dadurch werden keine Cookies gelöscht die im Namen "paypal" enthalten.
    Meine oben stehenden Lösungsansätze gehen präziser mit den Namen um.

    Seit wann das Problem akut auftritt, kann ich aktuell nicht beurteilen.

    Viele Grüße
    Andreas

    [EDIT Tomcraft 29.01.2020: Korrektur in Beitrag 1 übernommen.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.181
    • Geschlecht:
    Danke dir! :thx:

    Grüße

    Torsten

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Ist das mit Changeset r12548 dann Standard in der nächsten Shopversion?

    Gruß Timm

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.181
    • Geschlecht:
    Ja klar! :!:

    Grüße

    Torsten

    Roberto75

    • Viel Schreiber
    • Beiträge: 845
    Hallo,

    Karl hatte hier in Antwort #129 eine Variante mit Einstellmöglichkeiten und weiteren Informationen der Cookies vorgestellt. Ich habe diese mal in einem Shop Version 2.0.5.0 getestet. Leider werden die Cookies nach Anklicken des Buttons "Akzeptieren" oder einer der Checkboxen bei den einzelnen Cookies nicht geladen und der Code von Google-Conversion-Tracking oder Analytics (Allgemeines Website Tag) ist im Quellcode oben nicht zu sehen. Anders ist es, wenn ich  die Original-Dateien des Shops includes/tracking.php und templates/meintemplate/jquery_cookieconsent.min.js statt denen von Karl nutze. Dann ist der Cookie-Banner schwarz, nicht weiß und eine Auswahl der Cookies nicht möglich, aber den Conversion-Code sieht man im Quellcode und es werden die Cookies geladen. Es scheint also an den beiden Dateien zu liegen.

    Könnte Karl oder ein anderer hier vielleicht die Lösung schreiben? Diese Variante entspricht nämlich eher den Anforderungen vom Händlerbund und der IT-Rechtskanzlei.

    Gruß

    Robert

    Karl1

    • Experte
    • Beiträge: 1.791
    Hallo Robert,
    das war nur ein Vorschlag für das Modified-Team und ist so nicht in einem aktiven Shop zu verwenden.

    Gruß Karl

    arslibri

    • Frisch an Board
    • Beiträge: 70
    Hallo zusammen,

    muss denn der Kunde seit der letzten DSGVO-Verordnung nicht die Möglichkeit haben der Verwendung bestimmter Cookies zu widersprechen? Die hier beschriebene Anleitung zeit lediglich einen Cookie-Banner und einen Link mit "Mehr Erfahren" und einen Button mit "Verstanden". Gibt es dazu ein Update?
    Ich sehe hier unter dem originalen Thread viele Updates gelistet. Wie ist das zu verstehen, muss ich nur dem neuesten Update der Anleitung folgen oder aus allen einzelnen Updates die Änderungen übernehmen?

    Außerdem, durch Klick auf "Mehr Erfahren" öffnet sich die Datenschutzerklärung der Seite aber ganz ohne CSS oder sonstigen Footer oder Header von der Seite. Nicht sehr attraktiv. Wie kann man diesen Link ändern und gleich zur Datenschutzseite verlinken?

    Danke

    Karl1

    • Experte
    • Beiträge: 1.791
    Hallo arslibri,
    die aktuelle Shopsoftware Version 2.0.5.0 enthält das Cookie-Banner bereits.
    Bei Standardeinstellungen wird der Button "Verstanden" und der Textlink "Mehr Erfahren" angezeigt.
    Klickt man auf "Mehr Erfahren" öffnet sich bei allen mitgelieferten Templates eine Popupbox mit dem Text der im Content Manager hinterlegten Datenschutzbestimmungen.

    Wenn du im Adminbereich Erw. Konfiguration -> Google, Matomo & Facebook ein Tracking aktiviert hast, werden die Button "Ablehnen", "Akzeptieren" und der Textlink "Mehr Erfahren" angezeigt.
    In diesem Fall kann der Kunde entscheiden, ob er Tracking-Cookies zulässt.

    Gruß Karl

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.181
    • Geschlecht:
    :good:

    Besser hätte ich es nicht erklären können. :thx:

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Um alle Fragen zu beantworten:

    [...]
    Außerdem, durch Klick auf "Mehr Erfahren" öffnet sich die Datenschutzerklärung der Seite aber ganz ohne CSS oder sonstigen Footer oder Header von der Seite. Nicht sehr attraktiv. Wie kann man diesen Link ändern und gleich zur Datenschutzseite verlinken?
    [...]

    Was genau meinst du damit, "öffnet sich" und "ganz ohne CSS oder sonstigen Footer oder Header" ?
    Die  Datenschutzerklärung  sollte sich in einem Popup in der Colorbox öffnen.

    Falls du ein extrenes Template benutzt, also keines von modified, mußt du evtl. Anpassungen vornehmen. du müsstest dich dann mit diesem Eintrag aus /templates/DEIN_TEMPLATE/javascript/general_bottom.js.php beschäftigen:

    Code: Javascript  [Auswählen]
    $(".iframe, .cc-link").colorbox({iframe:true, width:"780", height:"560", maxWidth: "90%", maxHeight: "90%", fixed: true});

    *EDIT*
    Ach, und die Dateien zum Download im ersten Post sind immer die aktuellen.
    *END_EDIT*

    Gruß,
    noRiddle

    arslibri

    • Frisch an Board
    • Beiträge: 70
    danke für die vielen Antworten, hat mir viel weitergeholfen.

    Das "popup" ist bei mir leider gar kein Popup, weiß nicht woran das liegt.
    Ja, es ist ein externes Template.
    So sieht das bei mir aus: http://www.arslibri.lu/popup_content.php?coID=2

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Ich sehe bei dir das Cookie-Banner nicht (wohl wegen des u.g. JS-Fehlers in der Konsole) und kann deshalb auch nichts prüfen.
    Ich sehe jedoch, daß die Versandkosten-Links bei den Produkten die class="contentbox" haben.
    Dein Template benutzt also nicht die Colorbox.
    Logischerweise zeigt die Konsole auch diesen Fehler
    TypeError: $(...).colorbox is not a function

    Wie bereits gesagt mußt du also das beachten:
    ...
    Falls du ein extrenes Template benutzt, also keines von modified, mußt du evtl. Anpassungen vornehmen. du müsstest dich dann mit diesem Eintrag aus /templates/DEIN_TEMPLATE/javascript/general_bottom.js.php beschäftigen:

    Code: Javascript  [Auswählen]
    $(".iframe, .cc-link").colorbox({iframe:true, width:"780", height:"560", maxWidth: "90%", maxHeight: "90%", fixed: true});
    ...

    Ich weiß nicht wie in deinem Template die Popup-Box ge-trigger-t wird.
    Wahrscheinlich mußt du den o.g. Eintrag weglassen und in dieses File gehen
    /templates/DEIN_TEMPLATE/javascript/jquery.cookieconsent.min.js
    und das (kommt 2 x vor)
    class="cc-link"
    durch das ersetzen
    class="contentbox"
    Gruß,
    noRiddle
    0 Antworten
    979 Aufrufe
    30. Juli 2021, 11:58:38 von ShopUser
    1 Antworten
    2134 Aufrufe
    24. November 2021, 19:10:05 von Timm
    98 Antworten
    71634 Aufrufe
    01. Juni 2015, 19:24:32 von arno_nuehm
               
    anything