Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
| Eigenschaft | Wert |
|---|---|
| Composer-Paket | mmd/smart-maps-integration |
| Plugin-Klasse | Mmd\SmartMapsIntegration\MmdSmartMapsIntegration |
Plugin-Name für bin/console |
MmdSmartMapsIntegration |
| Namespace | Mmd\SmartMapsIntegration |
| Anforderungen | PHP >= 8.2, shopware/core ~6.7.0 |
| Konfigurationsschlüssel | MmdSmartMapsIntegration.config.apiKey, .enabled, .countryFilter |
| Datei | Aufgabe |
|---|---|
src/MmdSmartMapsIntegration.php |
Plugin-Klasse, ohne eigene Logik |
src/Subscriber/StorefrontSubscriber.php |
Hört auf StorefrontRenderEvent, filtert nach Route und setzt die Twig-Parameter |
src/Service/SmartMapsConfigService.php |
Liest die Einstellungen pro Sales Channel aus der Systemkonfiguration |
src/Struct/SmartMapsConfig.php |
Wertobjekt mit der Prüfung isConfigured() |
src/Resources/config/config.xml |
Admin-Konfiguration |
src/Resources/views/storefront/base.html.twig |
Lädt CSS und JS von SmartMaps und enthält das Initialisierungsskript |
src/Resources/views/storefront/component/address/address-form.html.twig |
Umhüllt das Adressformular mit den Data-Attributen |
src/Resources/app/storefront/src/main.js |
Registriert die JS-Klasse SmartMapsAutocomplete am Selektor [data-smartmaps-autocomplete] |
| Parameter | Inhalt |
|---|---|
mmdSmartMapsConfig |
enabled (bool) und countryFilter (string) |
mmdSmartMapsApiKey |
der bereinigte API-Schlüssel |
Beide werden nur gesetzt, wenn die Route in der Liste steht und die Konfiguration gültig ist.
Es gibt zwei Wege, das Autocomplete an ein Straßenfeld zu binden: das Inline-Skript in base.html.twig und die registrierte JS-Klasse SmartMapsAutocomplete. Das Inline-Skript prüft vor der Initialisierung das Attribut dataset.smartmapsInitialized am Straßenfeld und überspringt bereits initialisierte Felder, die JS-Klasse hat keine solche Prüfung.
Der Subscriber fängt jede Ausnahme ab und lässt sie unbemerkt, damit ein Fehler im Plugin die Storefront nie stört. Fehler im Browser landen in der Konsole, aus dem Inline-Skript mit dem Präfix [SmartMaps] und aus der JS-Klasse mit dem Präfix [SmartMapsAutocomplete].
config.xml)