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

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    In meinem Testshop funktioniert TrackingPiwik trotz Einwilligung [Einverstanden] nicht, können andere Mitglieder dies bestätigen?

    Habe in includes/external/smarty/plugins/function.piwik.php ab ca. Zeile 58 folgenden Code

    Code: PHP  [Auswählen]
        <script type="text/javascript">
        function TrackingPiwik () {
          var _paq = _paq || [];
          (function(){
            var u="//'.$url.'/";
            _paq.push([\'setSiteId\', '.$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
      '
    ."\n";

      $endCode = '
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);

            var d=document,
            g=d.createElement(\'script\'),
            s=d.getElementsByTagName(\'script\')[0];
            g.type=\'text/javascript\';
            g.defer=true;
            g.async=true;
            g.src=u+\'piwik.js\';
            s.parentNode.insertBefore(g,s);
          })();
        }
        </script>

    mit diesem ersetzt.

    Code: PHP  [Auswählen]
        <script type="text/javascript">
          var _paq = _paq || [];
          _paq.push([\'trackPageView\']);
          _paq.push([\'enableLinkTracking\']);              
        function TrackingPiwik () {
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
      '
    ."\n";

      $endCode = '
            var d=document,
            g=d.createElement(\'script\'),
            s=d.getElementsByTagName(\'script\')[0];
            g.type=\'text/javascript\';
            g.defer=true;
            g.async=true;
            g.src=u+\'piwik.js\';
            s.parentNode.insertBefore(g,s);
        }
        </script>

    Jetzt funktioniert es in meinem Testshop.

    Gruss
    Hanspeter
    rechtstexte für onlineshop

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.213
    • Geschlecht:
    Habe es gerade getestet. Mein Code sieht nun so aus, der in r12272 ins SVN übernommen wurde:

    Code: PHP  [Auswählen]
      $beginCode = '
        <script type="text/javascript">
          var _paq = _paq || [];
          function TrackingPiwik () {
            var u="//'
    .$url.'/";
            _paq.push([\'setSiteId\', '
    .$id.']);
            _paq.push([\'setTrackerUrl\', u+\'piwik.php\']);
            _paq.push([\'trackPageView\']);
            _paq.push([\'enableLinkTracking\']);
      '
    ."\n";

      $endCode = '
            (function(){
              var d=document,
              g=d.createElement(\'script\'),
              s=d.getElementsByTagName(\'script\')[0];
              g.type=\'text/javascript\';
              g.defer=true;
              g.async=true;
              g.src=u+\'piwik.js\';
              s.parentNode.insertBefore(g,s);
            })();
          }
        </script>
      '
    ;

    Gruss Gerhard

    [EDIT Tomcraft 15.10.2019: Korrektur in Modul aus Beitrag 1 aufgenommen.]

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Falls es noch von Interesse ist bzgl. uBlock:
    uBlock blockiert Cookie-Banner entgegen meiner Vermutung doch absichtlich, zumindest wenn im Dashboard im Tab "Filterlisten" "Fanboy’s Annoyance List" aktiviert ist.
    Es wird dort allerdings nach Dateinamen die "CookieConsent" heißen oder beinhalten, sowie nach HTML-Elementen mit IDs oder Classes wie "cookieConsentWrapper" gesucht.

    Würde man alles was "cookieConsent" heißt umbenennen in z.B. "modCC" würde 1. uBlock das Banner vorausssichtlich nicht mehr blocken können (noch nicht getestet) und 2. würde der neue Begriff wohl auch nicht so schnell in uBlock bzw. in die Liste "Fanboy’s Annoyance List" Eingang finden.
    Wenn doch kommt dann leider Markus' berechtigte Argumentation aus Antwort #37 zum Tragen.

    Mit einem gewissen Aufwand :hust: könnte man sogar, um bei meinem Beispiel zu bleiben, die Bezeichnung "modCC" alle paar Wochen automatisch ändern, in "m1odCC", "m2odCC", "m3odCC" oder was weiß ich.

    Gruß,
    noRiddle

    *NACHTRAG*
    Hab's gerade mal mit einer etwas älteren CookieConsent-Version ausprobiert. Funktioniert.
    Habe einfach in der cookieconsent.css und in der cookieconsent.min.js mittels Suchen/Ersetzen "cc_" mit "modCC_" ersetzt.
    In meiner Version wird noch "cc_" anstatt "cc-" für die Conteiner-IDs und- Classes benutzt.
    Wenn die Komprimierung von CSS- und JS-Dateien aktiviert ist taucht außerdem der Name der Dateien nicht im HTML auf, womit die Erkennung seitens uBlock was die Dateinamen betrifft fehlschlägt.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Mir fällt gerade noch auf, daß im DEV-Demoshop das HTML für den Cookie-Banner direkt nach dem öffnenden body-tag injiziert wird.
    Ich habe damit bei dem von mir bereits 2014 ins Forum gestellten und in diesem Thread schon zitierten Cookie-Plugin schlechte Erfahrungen gemacht.
    Texte des Cookie-Banners erschienen in den Google-SERPs.
    Man sollte das nötige HTML deshalb vor dem schließenden body-tag injizieren.

    Gruß,
    noRiddle

    Karl1

    • Experte
    • Beiträge: 1.746
    Hallo noRiddle,
    der Platz nach dem öffnenden <body> ist nur der Standard der laut JS API jederzeit verlegt werden kann.

    Ein Beispiel:
    Am Ende der index.html haben wird diesen leeren Tag

    Code: PHP  [Auswählen]
    <div id="cookie"></div>

    In die general_bottom.js.php nehmen wir die Zeile "container" auf

    Code: Javascript  [Auswählen]
            window.cookieconsent.initialise({
                    type: consent_type,
                    container: document.getElementById("cookie"),
                    ...

    Dadurch wird der Cookiehinweis in obigen <div> eingefügt.

    Gruß Karl

    P.S.: jQuery z.B. $('#cookie') funktioniert nicht!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Danke Karl1, mir war allerdings klar, daß das irgendwie gehen muß.
    Ich wollte das modified-Team darauf hinweisen, daß sie bei einem eventuellen Update die Sache mitbeachten.

    Kann noch jemand mal testen was ich zu uBlock 3 Posts höher (Antwort #62) geschrieben habe ?

    Gruß,
    noRiddle

    *NACHTRAG*
    Ginge nicht auch direkt das, ohne einen leeren Container ?

    Code: Javascript  [Auswählen]
                    ...,
                    container: document.body,

    Habe mir die API-Doku nicht angeschaut, sorry.

    *NACHTRAG 2*
    In der Doku steht übrigens

    Zitat
    The tool is automatically appended to the HTML body. Use this option to select the parent element.

    Nach dem wie es sich darstellt wird es aber "prepended" und nicht "appended" wenn man keinen container angibt.

    Karl1

    • Experte
    • Beiträge: 1.746
    Hallo noRiddle,
    ich kann das Blockier-Verhalten von "uBlock" bei aktivierter Filterliste "Fanboy’s Annoyance List" bzw. "Fanboy’s Cookie List" bestätigen.

    In den Blacklisten stehen allerdings nicht nur "cookieConsent" usw. sondern z.B. auch CSS-Selectoren wie "###cc-banner".

    Es müssten aus meiner Sicht alle Dateinamen, Funktionen und Selectoren so verändert werden, dass Schlüsselwörter wie "Cookie, Consent, CC usw." nicht mehr auftauchen.

    Eine neue Frage stelle ich mir in diesem Zusammenhang.
    Javascript ist im Browser deaktiviert - muss ein Cookiehinweis eingeblendet werden (die MODsid wird gesetzt)?

    Gruß Karl

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Die Dateien aus Beitrag 1 wurden mit den Änderungen aus r12283 & r12284 aktualisiert.

    Grüße

    Torsten

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Müsste der change aus r12272 nicht auch noch mit ins Paket?

    Da im Bugtracker nicht steht, was geändert wurde: Handelt es sich dabei um die Einwände von noRiddle und Karl1?

    Gruß Timm

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Ist doch bereits drin, siehe Antwort #61.

    Geändert wurde, dass das Piwik/Matomo Tracking nun funktioniert. :crazy:

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Und meine Einwände bzgl. dessen wo das Banner im HTML injiziert wird ?
    Auch uBlock könnte man testweise umgehen. Ob es dann lediglich vorrübergehend gewesen sein wird wird sich herausstellen.
    Wenn man sich eigtl. Mitarbeit wünscht jedoch nach wie vor ständig konstruktive Einwände und Vorschläge ignoriert werden
    - womit ich meine, daß gar nicht darauf reagiert wird -
    fehlt irgendwann die Motivation.
    Das sage ich ausdrücklich nur für Threads die offensichtlich von euch verfolgt werden, nicht für jeden Thread natürlich.

    Auch stellt sich mir die Frage warum sich die CSS- und JS-Dateien einzeln im Download befinden und nicht in einem Ordner in einem Paket, wie bei allen sonstigen Erweiterungen und Modulen.

    @Karl1
    Mir ist bewußt, daß auch CSS-Selektoren in "Fanboy’s Annoyance List" erfasst sind.
    Ich schrieb doch sehr explizit, daß ich die Klassen- und ID-Namen testweise in modCC_ geändert habe und damit Erfolg hatte.
    Auch zu den Dateinamen habe ich etwas gesagt, nämlich, daß sie bei aktivierter CSS- und JS-Komprimierung nicht im Quellcode auftauchen und deshalb dann nicht geändert werden müssen.

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    @Torsten
    Den Edit hatte ich überlesen.

    @noRiddle
    Deshalb hatte ich in meinem letzten Post absichtlich eure Namen erwähnt.

    Wenn man sich eigtl. Mitarbeit wünscht jedoch nach wie vor ständig konstruktive Einwände und Vorschläge ignoriert werden...

     :good:

    Deshalb schreibe ich vornehmlich nur noch Tickets. Außer im responsive Template Thread, wo ich weiß, dass Markus mitliest.

    Fände es aber auch besser, wenn man konstruktiv darüber diskutieren könnte, was im Ticket nicht so wirklich geht. Ich denke auch, dass viel Input dadurch verloren geht. Nicht jeder nutzt den Bugtracker. Und manch einer schreibt nichts mehr, wenn er eh weiß, dass es ignoriert wird.  Auch wenn das dann oft heißt, man ließt nicht überall mit. Ich finde in Systemmodulthreads wäre es angebracht das zu tun. Im Internetmarke Thread und auch im Paypal Plus Thread läuft es ja ähnlich.

    Andererseits gibts auch Momente, wo Sachen gleich aufgegriffen und verbessert werden. Etwas mehr Konstanz in der Handhabung wäre wünschenswert, dass man sich als Helfender sicher sein kann, dass man es nicht umsonst schreibt.

    Gruß Timm

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Und meine Einwände bzgl. dessen wo das Banner im HTML injiziert wird ?
    Auch uBlock könnte man testweise umgehen. Ob es dann lediglich vorrübergehend gewesen sein wird wird sich herausstellen.
    Wenn man sich eigtl. Mitarbeit wünscht jedoch nach wie vor ständig konstruktive Einwände und Vorschläge ignoriert werden
    - womit ich meine, daß gar nicht darauf reagiert wird -
    fehlt irgendwann die Motivation.
    Das sage ich ausdrücklich nur für Threads die offensichtlich von euch verfolgt werden, nicht für jeden Thread natürlich.
    [...]

    Wenn wir auch nicht immer gleich antworten, dann seit euch sicher, dass wir da bereits hinter den Kulissen drüber reden. Ich hab den Tab zu Antwort #64 noch im Browser offen. ;-)

    [...]
    Auch stellt sich mir die Frage warum sich die CSS- und JS-Dateien einzeln im Download befinden und nicht in einem Ordner in einem Paket, wie bei allen sonstigen Erweiterungen und Modulen.
    [...]

    Der Einfachheit halber, da gerade bei Dateien, die sich im Template befinden ansonsten ein großes Fehlerpotential steckt beim Kopieren eines ordner namens "TEMPLATENAME" oder wie auch immer der Platzhalter des Templates dann heissen würde.

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Die Dateien aus Beitrag 1 wurden mit den Änderungen aus r12285 aktualisiert.

    Grüße

    Torsten

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Zunächst einmal danke für die schnelle Zurverfügungstellung des Moduls.
    Ich habe bei mir im Shop (aktuellste Version) das Modul eingebaut: MODUL: Artikel Anfrage
    Dort erscheint im Popup dann auch immer der Cookiehinweis.
    Woran könnte das liegen?
    0 Antworten
    956 Aufrufe
    30. Juli 2021, 11:58:38 von ShopUser
    1 Antworten
    2126 Aufrufe
    24. November 2021, 19:10:05 von Timm
    98 Antworten
    71411 Aufrufe
    01. Juni 2015, 19:24:32 von arno_nuehm