Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Ist "Cookie Consent aktivieren" eingeschaltet, lädt das Storefront die Klaro-Bibliothek und übergibt ihr die Konfiguration aus den Modul-Einstellungen und den Cookie-Services deines Shops.
Das Modul bringt die Erweiterung layout/base.html.twig für das Apex-Theme mit. Sie gibt im Storefront aus:
window.klaroConfig,defer.Alles erscheint nur, wenn "Cookie Consent aktivieren" eingeschaltet ist.
Für andere Themes liefert das Modul keine Template-Erweiterung mit. Dort erscheint kein Banner, bis du eine eigene Erweiterung des Basis-Layouts anlegst, die dieselben Elemente ausgibt.
Der Link wird nicht automatisch in den Footer eingefügt. Du bindest das mitgelieferte Widget dort ein, wo er erscheinen soll, zum Beispiel im Service-Menü des Footers:
{% include "@mmd_klaroconsent/widget/klaro_settings_link.html.twig" %}
Optional gibst du eine CSS-Klasse und ein Icon mit:
{% include "@mmd_klaroconsent/widget/klaro_settings_link.html.twig" with {
linkClass: 'my-custom-class',
showIcon: true
} %}
| Parameter | Standard | Beschreibung |
|---|---|---|
linkClass |
footer-link |
CSS-Klasse des Links, mmd-klaro-settings-link kommt immer dazu |
showIcon |
false |
Zeigt vor dem Text das Icon fa fa-cookie-bite |
Der Link heißt "Cookie-Einstellungen" (Englisch "Cookie Settings") und öffnet den Dialog erneut. Besucher können ihre Entscheidung so jederzeit ändern. Ist das Modul deaktiviert, gibt das Widget nichts aus.
Das Modul verändert keine Skripte in deinen Templates. Damit ein Dienst erst nach Einwilligung läuft, markierst du sein Skript oder Embed nach dem Klaro-Verfahren. data-name muss dem Technischen Namen des Services entsprechen.
Skript mit src:
<script type="text/plain"
data-type="text/javascript"
data-name="google-analytics"
data-src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
Inline-Skript:
<script type="text/plain" data-type="text/javascript" data-name="google-analytics">
// dein Code
</script>
Embed (iframe):
<iframe data-name="youtube" data-src="https://www.youtube-nocookie.com/embed/VIDEO_ID"></iframe>
Mit der Option "Nur kontextueller Consent" am Service nimmt "Alle akzeptieren" diesen Service nicht mit. Er wird dann über den Platzhalter am Embed freigegeben.
Ist "Google Consent Mode v2 aktivieren" an, schreibt das Template vor der Klaro-Konfiguration dieses Snippet in die Seite:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'functionality_storage': 'denied',
'personalization_storage': 'denied',
'security_storage': 'granted'
});
Das Modul setzt nur diese Standardwerte. Es sendet nach der Einwilligung keinen
gtag('consent', 'update', ...)-Aufruf und ordnet Klaro-Services nicht den Google-Consent-Typen zu. Die Aktualisierung der Werte musst du selbst auslösen, zum Beispiel über dein Google-Tag-Setup. Die Hilfetexte im Admin ("Synchronisiert Consent automatisch") beschreiben mehr, als das Modul tut.
Das Snippet lädt kein Google-Skript. Die Google-Skripte selbst bindest du, wie oben beschrieben, mit eigenem Service ein.