Markus Michalski FAQ

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.

English Version

Zurück zu Sylius Plugins

Contact Requests

Sylius
PHP
License

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

License

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.