Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
| Eigenschaft | Wert |
|---|---|
| Composer-Paket | mmd/oxid7-klaro-consent |
| Modul-ID | mmd_klaroconsent |
| Installationspfad | source/modules/mmd/klaro-consent |
| Namespace | Mmd\KlaroConsent |
| Erweiterte Klasse | OxidEsales\Eshop\Core\ViewConfig |
| Events | onActivate legt Tabellen und Standard-Service an, onDeactivate tut nichts |
| Controller-ID | Klasse | Aufgabe |
|---|---|---|
mmd_klaro_service |
CookieServiceController |
Rahmen mit Liste und Bearbeitungsansicht |
mmd_klaro_service_list |
CookieServiceList |
Liste der Services des aktuellen Shops, Löschen (nicht bei erforderlichen Services) |
mmd_klaro_service_main |
CookieServiceMain |
Anlegen und Bearbeiten, Titel und Beschreibung je Sprache |
In menu.xml hängt der Menüeintrag mmd_klaro_consent ("Cookie Consent") unter dem Hauptmenü mxcustnews (Kundeninformationen). Er verweist auf den Controller mmd_klaro_service mit der Liste mmd_klaro_service_list und definiert den Reiter mmd_klaro_service_main ("Service bearbeiten").
Beide Tabellen legt ModuleEvents::onActivate mit CREATE TABLE IF NOT EXISTS an.
mmd_klaro_cookie_service
| Spalte | Typ | Bedeutung |
|---|---|---|
OXID |
CHAR(32) | Primärschlüssel |
OXSHOPID |
INT | Shop-ID |
TECHNICAL_NAME |
VARCHAR(100) | Klaro-Name, mit OXSHOPID eindeutig |
PURPOSE |
VARCHAR(50) | analytics, marketing, functional oder security |
REQUIRED |
TINYINT(1) | Nicht abwählbar |
DEFAULT_ENABLED |
TINYINT(1) | Vorausgewählt |
ACTIVE |
TINYINT(1) | Im Dialog sichtbar |
COOKIES |
JSON | Löschregeln [{pattern, path, domain}] |
ONLY_ONCE |
TINYINT(1) | Nur einmal ausführen |
CONTEXTUAL_CONSENT_ONLY |
TINYINT(1) | Nur über Platzhalter freigeben |
POSITION |
INT | Reihenfolge |
OXTIMESTAMP |
TIMESTAMP | Änderungszeit |
mmd_klaro_cookie_service_translation
| Spalte | Typ | Bedeutung |
|---|---|---|
OXID |
CHAR(32) | Service, Fremdschlüssel mit ON DELETE CASCADE |
OXLANG |
INT | Sprach-ID, 0 = Deutsch, 1 = Englisch |
TITLE |
VARCHAR(255) | Anzeigename |
DESCRIPTION |
TEXT | Beschreibung |
| Dienst | Aufgabe |
|---|---|
KlaroConfigBuilderInterface |
Baut die Klaro-Konfiguration aus Einstellungen und Services |
ModuleSettingsServiceInterface |
Typisierter Zugriff auf die Modul-Einstellungen, prüft Wertebereiche |
CookieServiceRepositoryInterface |
Liest und schreibt die Services |
DefaultServicesInstaller |
Legt den Service session an |
Das Modul erweitert ViewConfig. In Twig-Templates stehen über oViewConf zur Verfügung:
| Methode | Rückgabe |
|---|---|
isKlaroActive() |
Ob "Cookie Consent aktivieren" an ist |
getKlaroConfigJson() |
Konfiguration als JSON, mit JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_HEX_QUOT kodiert. Bei deaktiviertem Modul {} |
isGoogleConsentModeEnabled() |
Ob die Consent-Mode-Option an ist |
getKlaroPrimaryColor(), getKlaroSecondaryColor(), getKlaroDeclineColor() |
Die Farb-Einstellungen |
Die Datei views/twig/extensions/themes/apex/layout/base.html.twig erweitert layout/base.html.twig in den Blöcken base_style und base_js. Das Widget @mmd_klaroconsent/widget/klaro_settings_link.html.twig liegt unter views/twig/widget.
KlaroConfigBuilder::buildConfig() liefert diese Schlüssel:
| Schlüssel | Wert |
|---|---|
version |
1 |
elementID |
klaro |
storageMethod, storageName, cookieExpiresAfterDays |
aus den Speicher-Einstellungen |
privacyPolicy |
Datenschutz-URL |
default |
immer false |
mustConsent, acceptAll, hideDeclineAll, hideLearnMore, groupByPurpose |
aus den Verhaltens-Einstellungen |
styling.theme |
Farbschema plus Position, bei bottom-left und bottom-right mit floating, sonst mit wide |
htmlTexts |
true |
services |
aktive Services des Shops, sortiert nach Reihenfolge und Name |
translations |
zz (Fallback, deutsch), de, en |
Je Service enthält der Eintrag name, purposes, required, default, onlyOnce, optional cookies und contextualConsentOnly.
| Datei | Inhalt |
|---|---|
translations/{de,en}/mmd_klaroconsent_lang.php |
Storefront-Texte: Dialog, Zweck-Gruppen, Buttons, Footer-Link |
views/admin_twig/{de,en}/mmd_klaroconsent_lang.php |
Admin-Texte: Menü, Formularfelder, Modul-Einstellungen |