Was es kann
Eine öffentliche Widerrufsfunktion führt in zwei Schritten von den Angaben zur Bestätigung. Name, freie Vertragsangaben und Bestätigungs-E-Mail genügen; Login, Anschrift und Begründung werden nicht verlangt. Erst die Bestätigung speichert die Erklärung, danach gehen Nachrichten an Verbraucher und Händler.
Unter „Inhalte → Widerruf einrichten“ werden Händleradresse und öffentlicher Pfad gesetzt. Eine ungeschützte Seite enthält das Inhaltselement „Widerrufsfunktion“, der Footer verlinkt sie mit {{withdrawal_link}}. Ein funktionierender Symfony-Mailtransport und ein regelmäßig ausgeführtes withdrawal:resend-pending gehören zum Betrieb. Die rechtliche Eignung für die konkrete Website wird gesondert geprüft; das Bundle entscheidet nicht automatisch über Fristen.
Erste Schritte im Backend
- Speichere unter Inhalte → Widerruf einrichten Absender- und Händleradresse. Richte einen zustellfähigen Symfony-Mailtransport ein: Das Bundle nutzt synchron
mailer.default_transport, unabhängig von Messenger-Routing und dem Transport des Seitenstamms. Verwende im Betrieb keinennull://-Transport. - Lege eine öffentliche, ungeschützte Seite mit dem Inhaltselement Widerrufsfunktion an. Speichere ihren öffentlichen Pfad unter „Widerruf einrichten“, etwa
/service/widerruf. Ein Pfad und eine Händleradresse gelten für die gesamte Installation;WITHDRAWAL_PATHundWITHDRAWAL_MERCHANT_EMAILsind optionale Overrides. - Binde
{{withdrawal_link}}im Footer aller relevanten Seiten ein, in Contao 5.7 beispielsweise über ein Theme-Inhaltselement. Prüfe Lesbarkeit, Kontrast und dauerhafte Erreichbarkeit; keine Anmeldung, Consent-Sperre oder Cache-Regel vor das Formular setzen. - Erlaube Backend-Benutzern oder Gruppen ausdrücklich das Modul Widerrufe. Erklärungsdaten bleiben schreibgeschützt; nur der Prüfstatus ist bearbeitbar. Lege einen Prozess für Aufbewahrung, Löschung und Backups fest.
- Führe
php bin/console withdrawal:resend-pendingzeitnah und regelmäßig aus, beispielsweise minütlich per Cron. Exitcode1bedeutet mindestens einen Fehler. Überwache offene Zustellungen und Bounces und setze endliche Timeouts für den Mailtransport in PHP-FPM und CLI.
Prüfe den vollständigen Ablauf inklusive beider Mails im tatsächlichen Theme. Eine Transportannahme beweist keine Zustellung im Postfach. Die rechtliche Eignung für die konkrete Website muss gesondert geprüft werden.
Twig-Integration
Die Vorlage withdrawal.html.twig kann im Template Studio an das Theme angepasst werden. Die Text- und HTML-Mailvorlagen unter @NordwerkWithdrawal/mail/ sind überschreibbar; Erklärung, Angaben sowie Eingangsdatum und -zeit müssen erhalten bleiben.