Widerrufsformular
Das Muster-Widerrufsformular als Widget für die Storefront — abgeschickt per E-Mail, ohne einen einzigen Datensatz im Shop.
Ein Widerruf, der als formloser Text im Kontaktformular landet, ist im Alltag schwer zuzuordnen und im Streitfall schwer zu belegen. Das Modul stellt dafür ein eigenes Formular bereit: Name, E-Mail, Bestellnummer und eine optionale Nachricht, abgeschickt an eine im Backend hinterlegte Zieladresse.
Die Belehrung selbst kommt aus einem CMS-Block, den du über oder neben das Formular stellst — Text und Frist gehören zu deinem Anwalt, nicht in ein Modul. Das Formular selbst platzierst du als Widget auf einer CMS-Seite; alternativ über eine Direktive im Seiteninhalt oder ein Layout-Update. Der Footer-Link zeigt einfach auf diese Seite.
Gespeichert wird nichts. Kein Datenbankschema, keine zusätzliche Tabelle — jeder Widerruf verlässt den Shop ausschließlich als E-Mail. Der Kunde bekommt auf Wunsch eine Eingangsbestätigung als Kopie; das ist sein Nachweis über Zeitpunkt und Inhalt seiner Erklärung.
Optisch übernimmt das Formular die Klassen deiner Kontaktseite und sieht dort, wo das Theme sie kennt, ohne weiteres Zutun genauso aus. Das mitgelieferte Stylesheet hat bewusst Spezifität 0 und tritt hinter jede Theme-Regel zurück.
Funktionen
- Formular als Widget, per Direktive oder per Layout-Update auf jede CMS-Seite setzbar
- Belehrung, Frist und Rücksendehinweise über einen frei wählbaren CMS-Block — über oder rechts neben dem Formular
- Benachrichtigung an den Shop mit Reply-To auf den Kunden, plus optionale Eingangsbestätigung an den Kunden
- Zwei überschreibbare E-Mail-Vorlagen; ohne hinterlegte Zieladresse geht die Mail an den allgemeinen Shop-Kontakt
- Keine Datenspeicherung, kein DB-Schema — der Widerruf existiert nur als E-Mail
- Datenschutz-Checkbox mit anpassbarem Text und Link zur Datenschutzerklärung
- Spamschutz: Honigtopf-Feld, Form-Key und Begrenzung je IP-Adresse und je angegebener E-Mail-Adresse
- Serverseitige Prüfung und harte Längenbegrenzung, unabhängig von der Browser-Validierung
- Nachricht wahlweise Pflichtfeld — im Standard nicht, weil ein Widerruf keine Begründung braucht
- Alle Einstellungen bis auf Store-View-Ebene, mit eigener ACL-Ressource fürs Backend
Voraussetzungen
- Magento 2.4.4 bis 2.4.8 (Open Source oder Adobe Commerce)
- PHP 8.1 bis 8.4
- Eine CMS-Seite für das Formular und ein CMS-Block für die Belehrung
- Keine Core-Änderungen, keine zusätzlichen Datenbanktabellen