Bugfix im Storefront bei Shopware 6.5.8.x
Mobiloptimierung Widerrufsbutton
Mehrsprachigkeit eingebunden noch in den Formularen für Französisch,Italienisch,Spanisch
- Teil-Widerruf: Kunde wählt auf der Bestätigungs-Seite individuell die Order-Positionen aus, die er widerrufen will. Standard: alle Positionen ausgewählt = vollständiger Widerruf. Bei Auswahl-Teilmenge wird ein Snapshot der widerrufenen Positionen (Label + Menge zum Einreichungs-Zeitpunkt) am Widerruf gespeichert und in Backoffice + Kundenkonto angezeigt. Deckt § 356a BGB für Teil-Widerrufe.
- Kundenkonto-Übersicht „Meine Widerrufe": neue Seite unter /account/withdrawals mit Liste aller Widerrufe des eingeloggten Kunden inkl. Status, Begründung, ggf. ausgewählter Positionen und Ablehnungs-Hinweis. Sidebar-Link wird automatisch eingeblendet wenn der Widerrufsbutton im Account-Menü aktiv ist.
- Widerruf ablehnen mit Begründung: Backoffice kann einen Widerruf jetzt direkt ablehnen, wenn ein Ausschlussgrund nach § 312g Abs. 2 BGB greift (Sonderanfertigung, schnell verderbliche Ware, entsiegelte Hygiene-/Datenträger-Artikel, untrennbar vermischt, Sonstiges). Modal mit Pflicht-Begründung; neue Mail-Vorlage kommora_withdrawal_rejected informiert den Kunden inkl. der wörtlichen Begründung; Status rejected mit eigener Badge in Liste, Detail und Kundenkonto.
- Fristbeginn-Option „Bestellung abgeschlossen": neue Auswahl für den Fristbeginn neben „Bestelldatum" und „Versanddatum". Für Dienstleistungen, Software- und Abo-Verträge nutzbar, bei denen der Vertrag mit dem Order-State completed als erfüllt gilt. Fallback wenn die Order noch nicht abgeschlossen ist: Bestelldatum (damit der Widerruf nie versehentlich ausgebremst wird).
- Bugfix „Widerrufslink in Bestellbestätigung anzeigen": der Toggle in den Plugin-Einstellungen war seit Einführung wirkungslos (kein Wiring im Code). Neuer Mail-Subscriber hängt jetzt einen rechtssicheren Widerrufs-Hinweis mit Link direkt an den HTML- und Plain-Body der Bestellbestätigungs-E-Mail an, sobald der Toggle aktiviert ist — funktioniert ohne Mail-Template-Anpassung out-of-the-box auf jedem Shop. Sprache wird anhand des Mail-Body-Inhalts erkannt (DE/EN).
- Footer-Button auch bei eingeklapptem Hotline-Akkordeon sichtbar: in einigen Themes ist die Hotline-Spalte standardmäßig als Bootstrap-Collapse zugeklappt oder kollabiert auf Mobile. Der Button wurde bisher in den Collapse-Inhalt injiziert und war dadurch unsichtbar, bis der Kunde das Akkordeon manuell öffnete. Die Anker-Erkennung prüft den Collapse-Zustand jetzt aktiv und hängt den Button bei zugeklapptem Akkordeon an die Spalte selbst — unterhalb der Hotline-Sektion und immer sichtbar. Bei offenem Akkordeon (Standard auf MAN/Opel/BPW etc.) bleibt das gewohnte Verhalten.
- Footer-Button-Fix für Themes mit leerem der bisherige Tier-2-Selector matchte in manchen Themes ein leeres, vom Theme-CMS hinterlassenes Inline-
. Unser Block-Element-Button landete dann in einem Inline-
und wurde vom Browser stillschweigend aus dem Layout geworfen. Der Selektor ist raus, Spalten-Tier greift sauber.
Bugfix : Withdrawal Button Popup im JS Footer
Flexiblere Suche für Footer Button
Anpassung im Style des Errors/Hinweis Message
Anpassung Email Template Datetime Format an Kunde
NEUE FEATURES
─────────────
• Drei automatische Status-Benachrichtigungen an den Kunden: bei
Statuswechsel auf „In Bearbeitung" oder „Abgeschlossen" sowie bei
Speicherung des Rückerstattungs-Status erhält der Kunde automatisch
eine passende Info-Mail. Jeder Trigger einzeln ab-/zuschaltbar in der
neuen Plugin-Konfig-Card „Kunden-Status-Benachrichtigungen". Drei
neue editierbare Mail-Templates mit Twig-Variablen (Bestellnummer,
Erstattungsbetrag, Kundenname).
• Eigene CSS-Klasse(n) und freies CSS für den Footer-Button: ohne
Core-Edit kann der Widerruf-Button 1:1 an einen bestehenden Theme-
Button (z. B. Newsletter-Button) angepasst werden. Wenn eine Custom-
Klasse oder Custom-CSS gesetzt ist, übernimmt das Plugin gar keine
eigenen Inline-Farben mehr — User-Styles greifen ohne Override.
• Vor- und Nachname als zwei separate Pflichtfelder im Widerrufs-
formular (§ 356a Abs. 2 Nr. 1 BGB n.F. / Art. 11a RL 2011/83/EU,
anwendbar ab 19.06.2026). Bei eingeloggten Kunden aus dem Account
vorausgefüllt. Bei Abweichung zur Bestellung wird ein interner
Hinweis ins Notiz-Feld geschrieben (keine Frontend-Hürde — der
Widerruf wird trotzdem akzeptiert).
• Alle vom Plugin verwalteten Mail-Templates mit „Kommora:"-Prefix in
der Beschreibung. Klar erkennbar in der Mail-Template-Liste,
insbesondere ab Shopware 6.7 (das einen eigenen Standard-
Widerrufsbutton mitbringt).
BEHOBEN
─────────────
• Die Auswahl „Button-Stil" (Primär / Sekundär / Umriss) hatte bisher
keinen optischen Effekt — Inline-Hintergrundfarbe überdeckte die
Bootstrap-Variante. Bei Umriss-Varianten wird jetzt kein Inline-
Background mehr gesetzt; der Unterschied ist visuell sichtbar.
• Custom-Field-Selector für ERP-/externe Bestellnummern war im Plugin-
Konfig-Backend auf Shopware 6.6 unsichtbar. Ursache: die für 6.7
benötigte Datei .vite/entrypoints.json war versehentlich aus dem
ZIP-Paket excluded, das Webpack-Bundle für 6.6 war veraltet. Beide
Bundles + Manifest jetzt korrekt im Paket.
• Hilfetext am Feld „Link zum Muster-Widerrufsformular": Verweis auf
das in 1.1.1 entfernte Feld „Ziel des Widerrufsbuttons" entfernt.
Stattdessen klargestellt, dass sowohl relativer Pfad als auch
absolute URL akzeptiert werden.
• Hilfetext am Feld „Rückerstattungs-Tracking anzeigen": erklärt jetzt
was die Option tatsächlich macht (zusätzlicher Card-Block in der
Widerrufs-Detailansicht mit Refund-Status + Erstattungsbetrag).
• ERP-Bestellnummer-Lookup im Gast-Widerrufsformular brach mit „500
Internal Server Error" ab, wenn der Custom-Field-Name Leerzeichen
enthielt. Custom-Field-Lookup nutzt jetzt eine robuste PHP-Side-
Filterung statt JSON-Pfad-Filter.
Anpassung bei Vor & Nachname bzgl Bestellprüfung.
Bug behoben bei Customfieldauswahl der Bestellnummer
Vor & Nachname als separate Pflichtfelder
Bugfix Custom Order Mapping
* Neu: Wählbare Bestell-Identifikation für ERP-Setups. In der Plugin-Konfiguration kann jetzt unter „Bestell-Identifikation" gewählt werden, ob der Kunde im Gast-Widerrufsformular die Shopware-Bestellnummer eingibt (Standard) oder eine externe Nummer aus einem Custom Field der Bestellung (z.B. die ERP-Bestellnummer). Bei aktivierter ERP-Option erscheint ein Dropdown mit allen Custom Fields, die einem Custom-Field-Set mit Bezug zur Bestell-Entität zugeordnet sind – kein manuelles Tippen technischer Feldnamen nötig. Optionaler Fallback auf die Shopware-Bestellnummer (Default an), damit Altbestellungen ohne gepflegte ERP-Nummer für den Kunden auffindbar bleiben.
* Neu: Das Auswahl-Dropdown für eingeloggte Kunden zeigt im ERP-Modus die externe Bestellnummer als primären Wert, mit der Shopware-Bestellnummer in Klammern – konsistent mit dem, was der Kunde auf Rechnung/Lieferschein sieht und was Ihr Backoffice führt.
* Neu: Eingegebene externe Bestellnummer wird im Widerruf gespeichert (neue Spalte `external_order_identifier`) und in der Admin-Liste sowie auf der Detailseite angezeigt. Die Twig-Variable `externalOrderIdentifier` steht in den Mail-Templates und im Flow-Builder-Event `kommora_withdrawal.submitted` zur Verfügung.
ZIP Code optional gestalten
Optional Field ist nun default False
Neu: Option „Keine zeitliche Vorfilterung (alle Bestellungen anzeigen)" – zeigt dem Kunden alle Bestellungen ohne Frist-Vorberechnung. Hintergrund: Art. 11a RL 2011/83/EU (ab 19.06.2026) verlangt, dass die Widerrufsfunktion während der gesamten gesetzlichen Widerrufsfrist verfügbar ist.
Bug behoben : BasePath Berücksichtigung
Bugfix bei SW 6.6 Version
Dashboard Widget Anpassung
Anpassung in der Mailintegration
Theme unabhängige Integration des Button in den Footer in den Hotline Bereich
* Verbesserung: Der Widerrufsbutton im Footer erscheint jetzt auch bei Themes, die den Standard-Footer durch eigene Bausteine ersetzen (z.B. ThemeWare). Ein theme-unabhängiger Mechanismus setzt den Button in den Service-Hotline-Bereich des Footers, falls das Theme den Standard-Block nicht bereitstellt – ohne doppelten Button beim Standard-Theme.
* Verbesserung: Der Widerrufsbutton führt jetzt immer direkt zum integrierten Widerrufsformular des Plugins (unter /kommora/withdrawal). Das Feld zur Änderung des Button-Pfads wurde entfernt, da es zu Verwechslungen führte und das Plugin-Formular (inkl. Eingangsbestätigung per E-Mail und Audit-Funktion) ohnehin der Kern der Lösung ist.
* Hinweis: Der optionale Link zum gesetzlichen Muster-Widerrufsformular (PDF) bleibt unverändert konfigurierbar.
* Behoben: Unter Shopware 6.7 konnte die Widerrufsseite mit einem Fehler ("Unfortunately, something went wrong") abbrechen, weil eine in 6.7 entfernte interne Methode aufgerufen wurde. Die Seite wird jetzt auf Shopware 6.5, 6.6 und 6.7 zuverlässig dargestellt.
* Behoben: Bei leerem URL-Feld zeigte der Widerrufsbutton auf eine nicht existierende Adresse (Weiterleitungsschleife im Wartungsmodus). Fällt jetzt zuverlässig auf /kommora/withdrawal zurück.
* Verbesserung: Klarere Benennung der beiden URL-Felder (Button-Ziel vs. Muster-PDF-Link).
* Behoben: Bei leerem URL-Feld zeigte der Widerrufsbutton auf eine nicht existierende Adresse, was im Wartungsmodus zu einer Weiterleitungsschleife führen konnte. Der Button fällt jetzt zuverlässig auf die immer erreichbare interne Adresse /kommora/withdrawal zurück.
* Verbesserung: Die beiden URL-Felder sind jetzt eindeutig benannt – "Ziel des Widerrufsbuttons (Pfad oder externe URL)" für das Button-Ziel und "Link zum Muster-Widerrufsformular (PDF, optional)" für den reinen PDF-Download-Link. Die Hilfetexte stellen klar, welches Feld wofür zuständig ist.
Bugfix mit der Config Pfad Weiterleitung
* Behoben: Die Widerrufs-Bestätigung an den Kunden und die Benachrichtigung an den Shop-Betreiber werden jetzt schon beim ersten Eingang eines Widerrufs zuverlässig versendet — unabhängig vom Flow-Builder.
* Hinweis: Der vom Plugin angelegte Standard-Flow wird beim Update automatisch deaktiviert. Die E-Mail-Templates bleiben weiterhin im Admin anpassbar.
* Behoben: Der Button "E-Mails erneut senden" verschickt die Widerrufs-Bestätigung und die Shop-Benachrichtigung jetzt zuverlässig — auch in Shop-Umgebungen, in denen der Versand über den Flow-Builder zuvor stillschweigend abgebrochen wurde.
* Behoben: Bestätigungs-Dialog beim Klick auf "E-Mails erneut senden" wird jetzt zuverlässig angezeigt.
* Verbesserung: Interner Konsolen-Befehl an aktuelle Shopware-Empfehlungen angepasst.
* Neu: Button "E-Mails erneut senden" im Widerruf-Detail. Damit lassen sich die Widerrufs-Bestätigung an den Kunden und die Benachrichtigung an den Shop-Betreiber jederzeit erneut versenden — zum Beispiel wenn eine Mail vom Spam-Filter abgefangen wurde oder beim ersten Versand nicht ankam.
* Neu: Konsolen-Befehl für Administratoren, mit dem sich die Widerrufs-Mails auch per SSH erneut auslösen lassen.
* Cooldown von 60 Sekunden zwischen zwei Wiederholungen verhindert versehentlichen Mehrfach-Versand.
* Behoben: 500-Fehler "STOREFRONT__CLASS_DONT_HAVE_TWIG_INJECTED" beim Aufruf der Widerrufs-Seite. Der Storefront-Controller bekommt Twig jetzt korrekt per Setter-Injection.
* Behoben: Variablen-Auflösung im Mail-Template arbeitet jetzt über einen eigenen Flow-Storer (WithdrawalEventStorer). Funktioniert dadurch unter Shopware 6.5 und 6.6 gleichermaßen.
* Behoben: Doppelter Eintrag "Vertrag widerrufen" im Footer. Der Hinweis erscheint jetzt nur noch einmal als Button im Service-Hotline-Bereich, nicht zusätzlich als Listen-Link in der Spalte "Informationen".
* Zweite, separate E-Mail an den Shop-Betreiber bei jedem eingegangenen Widerruf (eigener Mail-Template-Type `kommora_withdrawal_submitted_shop`, voll im Flow Builder pflegbar).
* Neue Flow-Sequence wird beim Update automatisch und idempotent ergänzt — bestehende Anpassungen am Default-Flow bleiben unverändert.
* `WithdrawalSubmittedEvent` und `WithdrawalStatusChangedEvent` implementieren jetzt `ScalarValuesAware`, damit alle Event-Variablen (Bestellnummer, Kundenname, Begründung etc.) zuverlässig in den Mail-Templates verfügbar sind.
Erstveröffentlichung: Zweistufiger Widerrufsprozess, Gastzugang, 5 Platzierungsoptionen, Admin-Übersicht und Detailansicht, Refund-Tracking, Dashboard-Widget, Erinnerungs-E-Mail, automatischer Bestellstatus, CMS-Element, Flow Builder-Integration.