Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Der Subscriber lauscht auf das StorefrontRenderEvent und stellt dem Template die Parameter mmdKlaroActive, mmdKlaroConfig, mmdKlaroPrimaryColor, mmdKlaroSecondaryColor, mmdKlaroDeclineColor, mmdKlaroGoogleConsentMode, mmdKlaroGoogleConsentModeWaitForUpdate und mmdKlaroShowFooterLink bereit. Der KlaroConfigService liest alle Einstellungen mit der ID des aktuellen Sales Channels, nur Services mit Zuordnung zu diesem Sales Channel kommen in die Konfiguration.
Sämtliche Texte landen im Klaro-Fallback-Schlüssel zz. Dadurch zeigt Klaro immer die Sprache des Shops und nicht die Sprache des Browsers.
Auswahlwerte (Kategorie, Position, Theme, Speichermethode) und Freitexte (Storage-Name, Datenschutz-URL, technischer Name) werden vor der Ausgabe gegen Allowlists beziehungsweise Zeichenmuster geprüft.
src/
├── MmdKlaroCookieConsent.php Plugin-Klasse (Uninstall räumt Tabellen und Konfiguration auf)
├── Core/
│ ├── Content/CookieService/ Entity, Definition und Collection der Cookie-Services
│ │ └── Aggregate/ Übersetzungs- und Sales-Channel-Zuordnung
│ └── Klaro/ KlaroConfigService und KlaroConfigServiceInterface, baut die Klaro-Konfiguration
├── Storefront/Subscriber/ StorefrontRenderSubscriber
├── Migration/ Datenbank-Migrationen
└── Resources/
├── app/administration/ Admin-Modul mmd-klaro-service
├── config/ config.xml, services.xml
├── public/administration/ Vorkompilierte Admin-Assets
├── public/storefront/vendor/klaro/ klaro.js und klaro.css
├── snippet/ Storefront-Snippets (de_DE, en_GB)
└── views/storefront/ Template-Überschreibungen
| Tabelle | Inhalt |
|---|---|
mmd_klaro_cookie_service |
Cookie-Services mit technischem Namen, Kategorie, Flags, Cookie-Regeln und Position |
mmd_klaro_cookie_service_translation |
Titel und Beschreibung pro Sprache |
mmd_klaro_cookie_service_sales_channel |
Zuordnung der Services zu Sales Channels |
Das Plugin bringt vier Migrationen mit: Anlegen der Tabellen, Anlegen des Standard-Services session, Entfernen eines früheren Callback-Felds und Entfernen veralteter Konfigurationsfelder für Kategorie-Texte (ersetzt durch Snippets).
Das Plugin erweitert drei Storefront-Templates über sw_extends. Diese Blöcke kann ein weiteres Plugin oder Theme ebenfalls erweitern:
| Template | Überschriebener Block | Zweck |
|---|---|---|
storefront/base.html.twig |
base_cookie_permission |
Unterdrückt den nativen Shopware-Cookie-Hinweis, wenn Klaro aktiv ist |
storefront/base.html.twig |
base_body_script |
Gibt die Klaro-Konfiguration, den Google-Consent-Mode-Code, den Anchor-Handler und das Klaro-Skript aus |
storefront/layout/footer/footer.html.twig |
layout_footer_service_menu_content |
Fügt den Footer-Link "Cookie-Einstellungen" an |
storefront/layout/meta.html.twig |
layout_head_stylesheet |
Bindet klaro.css und die Farb-Variablen ein |
| Namensraum | Verwendung |
|---|---|
mmd-klaro |
Storefront: Dialog-Texte und Kategorie-Texte |
mmd-klaro-service |
Administration: Beschriftungen des Admin-Moduls |
Das Plugin löst keine eigenen Events aus, registriert keine Routen und keine Console-Befehle. Es abonniert ausschließlich das StorefrontRenderEvent.