Contact Requests
Speichert jede Nachricht aus dem Sylius-Kontaktformular zusätzlich zur E-Mail, im Shop wie über die Shop API. Durchsuchbar im Admin, mit Befehl zum Löschen alter Anfragen und einer API für Admins.
Contact Requests
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Überblick
Das eingebaute Kontaktformular von Sylius verschickt eine Anfrage nur per E-Mail. Geht diese Mail verloren, wird sie vom Spam-Filter aussortiert oder kommt als unzustellbar zurück, ist die Anfrage weg. Dieses Plugin speichert jede Anfrage zusätzlich in der Datenbank. Dafür musst du weder dein Theme noch den Mailversand anpassen.
Die Anfrage wird gespeichert, bevor die E-Mail rausgeht. Schlägt der Mailversand fehl, bleibt die Anfrage trotzdem erhalten. Schlägt umgekehrt das Speichern fehl, wird die E-Mail trotzdem verschickt. Keine der beiden Seiten blockiert die andere.
graph LR
A["Twig-Kontaktformular"] --> C["PersistingContactEmailManager"]
B["Shop API SendContactRequest"] --> C
C --> D["ContactRequest speichern"]
C --> E["E-Mail-Versand wie bisher"]
D --> F["Admin-Liste + Admin-API"]
Dokumentation
| Seite | Inhalt |
|---|---|
| Installation und Betrieb | Installation, Update, alte Anfragen regelmäßig löschen, Deinstallation |
| Konfiguration | Admin-Oberfläche, Listenansicht, Praxis-Beispiele |
| Admin-API | REST-API mit Admin-Anmeldung |
| Fehlerbehebung und FAQ | Typische Probleme, bekannte Einschränkungen, häufige Fragen |
| Technische Details | Architektur, Plugin-Struktur, Datenbanktabelle |
Features
| Feature | Beschreibung |
|---|---|
| Automatische Speicherung | Jede Anfrage aus dem Kontaktformular im Shop und über die Shop API wird gespeichert. Am Theme oder Frontend musst du nichts ändern. |
| Admin-Übersicht | Durchsuchbare, sortierbare Liste unter Admin → MMKreativ Plugins → Contact Requests |
| Detailansicht | Name, E-Mail, Betreff, Nachricht, Einwilligung und Zeitpunkt jeder Anfrage |
| Ausfallsicheres Speichern | Schlägt das Speichern fehl, wird nur die Art des Fehlers protokolliert, nie der Nachrichtentext. Der E-Mail-Versand läuft in jedem Fall weiter. |
| Befehl zum Löschen | mmd:contact-requests:purge --older-than=<Tage> löscht alte Anfragen endgültig |
| Setup-Befehl | mmd:contact-requests:setup legt nur die Tabelle dieses Plugins an und lässt sich nach jedem composer update gefahrlos erneut ausführen |
| Admin-API | Lesende REST-API mit Admin-Anmeldung, zum Beispiel für eigene Auswertungen |
Anforderungen
| Anforderung | Version | Hinweise |
|---|---|---|
| Sylius | ^2.2 | Getestet gegen Sylius 2.2 und 2.3 |
| PHP | ^8.3 | |
| Datenbank | MySQL/MariaDB | PostgreSQL wird nicht unterstützt. Die Migration ist MySQL-DDL und wird auf anderen Plattformen ohne Fehler übersprungen, sodass die Tabelle schlicht fehlt. |
Lizenz
Kommerzielle Lizenz: Eine Lizenz gilt für eine Sylius-Installation (alle Channels sowie deren Entwicklungs- und Staging-Umgebungen). Eine Weitergabe ist nicht erlaubt, Updates sind 12 Monate ab Kauf enthalten. Teile des Projektgerüsts (Test-Anwendung, Tooling-Konfiguration) stammen aus Sylius/PluginSkeleton (MIT) und behalten diese Lizenz.
Support
Bei Fragen zur Lizenz, technischen Fragen oder Fehlern erreichst du mich unter support@markus-michalski.net.