Features
Zweispaltiges Layout
Desktop: Das Formular (Adresse, Versand, Zahlung) befindet sich links, die Bestellübersicht rechts als sticky Sidebar — sie bleibt beim Scrollen sichtbar.
Tablet: Zweispaltig bis ca. 768 px, darunter einspaltig.
Mobil: Die Bestellübersicht klappt per Toggle auf („Zusammenfassung anzeigen"), das Formular erscheint darunter. Der „Jetzt bestellen"-Button ist immer sichtbar und erhält scroll-margin-bottom, um fixed-position-Elemente (Cookie-Banner, Benachrichtigungsleisten) nicht zu überdecken.
AJAX Versand- und Zahlungsartwechsel
Das Umschalten der Versandart oder Zahlungsart aktualisiert die Bestellübersicht (Versandkosten, Gesamtpreis) ohne Seitenreload via AJAX. Das JS-Plugin liest den Rohwert direkt aus data-shipping-price — kein JavaScript-seitiges Text-Parsing, kein Überschreiben anderer Preis-Zeilen.
Die gewählte Versand- und Zahlungsart werden als Hidden Inputs synchronisiert und beim Absenden des Registrierungsformulars mitübertragen — auch im Gast-Checkout.
Gast-Checkout mit Inline-Registrierung
Der Checkout beginnt mit einer E-Mail-Eingabe. Per Toggle kann der Nutzer wählen:
- Als Gast fortfahren — kein Passwort erforderlich
- Kundenkonto erstellen — Passwortfeld wird eingeblendet
- Anmelden — Login-Formular erscheint inline
Nach der Registrierung wird der Kontext inkl. gewählter Versand- und Zahlungsart auf den neuen Kundensession-Token übertragen, und der Warenkorb wird neu berechnet — so dass Lieferkosten korrekt in die Bestellung einfließen.
Express Checkout (PayPal)
Der PayPal Express-Button erscheint oberhalb des Formulars und leitet den Nutzer direkt zu PayPal weiter — ohne Adresseingabe im Shop.
Voraussetzungen:
- SwagPayPal installiert und konfiguriert (API-Zugangsdaten hinterlegt)
- „Express Checkout" im SwagPayPal-Plugin aktiviert
- In der Plugin-Konfiguration: Allgemein → Express Checkout anzeigen = ✅
Warenkorb-Reservierungstimer
Ein 10-Minuten-Countdown signalisiert Dringlichkeit. Bei Ablauf blendet sich der Timer per Fade-Animation aus und wird aus dem DOM entfernt.
Für B2B-Shops empfiehlt sich das Deaktivieren des Timers unter Allgemein → Warenkorb-Reservierungstimer anzeigen, da lange Bestellvorgänge mit Genehmigungsschritten üblich sind.
Floating Labels
Alle Eingabefelder verwenden das Bootstrap-5-Floating-Label-Pattern: Der Label-Text schwebt nach oben, sobald der Nutzer tippt oder ein Feld befüllt ist. Das JS-Plugin transformiert alle Standard-Formularfelder automatisch, ohne Twig-Anpassungen zu erfordern.
Unterstützte Felder:
- Alle Standardfelder (Vorname, Nachname, E-Mail, Straße, PLZ, Ort, …)
- Firmenfelder (Firma, Abteilung, USt-IdNr.)
- Telefonnummer
- Geburtstag
- DHL Packstation / Postfiliale / Paketshop (inkl. async-Fallback, siehe unten)
Custom Select-Dropdowns
Native <select>-Elemente werden durch vollständig gestylte Custom-Dropdowns ersetzt:
- Suche — erscheint automatisch ab 8 Optionen
- Tastaturnavigation — Pfeiltasten, Home/End, Buchstaben-Vorauswahl
- Alphabetische Sortierung — locale-aware (
localeCompare) - ARIA-konform — Screen-Reader-kompatibel
- MutationObserver — reagiert auf dynamisch nachgeladene Optionen (30-ms-Debounce)
Gutschein / Aktionscode
Das Gutschein-Feld erscheint in der Bestellübersicht. Der „Anwenden"-Button ist deaktiviert, solange das Eingabefeld leer ist (inkl. Paste-Erkennung). In der Plugin-Konfiguration unter Allgemein → Gutschein-Feld anzeigen kann das Feld vollständig ausgeblendet werden.
Benefits und Advantages
Benefits (Sidebar, unterhalb der Bestellübersicht): 3 Trust-Badges mit je Icon, Titel und Beschreibung. Inhalt und Icons frei konfigurierbar. 15 SVG-Icons zur Auswahl.
Advantages (oberhalb des Formulars): Bis zu 2 Punkte mit optionalem Bild. Textinhalt über Shopware-Snippets pflegbar.
TrustedShops-Integration
TrustedShops-Widgets und andere über die Theme-Konfiguration eingebundene Scripts werden auf den Checkout-Schrittseiten (Adresse, Bestätigung, Warenkorb) nicht geladen. Auf der Danke-Seite laden sie normal — Conversion-Tracking bleibt vollständig erhalten.
DHL Packstation / Postfiliale / Paketshop
Das Plugin ist vollständig kompatibel mit dem DHL-Plugin:
- Floating Labels greifen auf alle DHL-injizierten Formularfelder
- Placeholder-Texte bleiben sichtbar (korrekte CSS-Spezifität)
- Für DHL-Plugins, die ihre Formulare asynchron nachladen: 1,2-Sekunden-Fallback für zuverlässige DOM-Mutation-Erkennung
Bankverbindung auf der Danke-Seite
Für Zahlungsarten wie „Vorkasse / Überweisung" zeigt das Plugin die Bankverbindung direkt auf der Danke-Seite an — inkl. vorausgefülltem Verwendungszweck (Vorname Nachname + #Bestellnummer). Keine E-Mail-Template-Anpassung erforderlich.
Die anzuzeigenden Zahlungsarten werden in der Plugin-Konfiguration unter Allgemein → Bankverbindung bei Zahlungsarten ausgewählt.
Responsive Design
| Breakpoint | Verhalten |
|---|---|
| ≥ 992 px (Desktop) | Zweispaltig, sticky Sidebar |
| 768–991 px (Tablet) | Zweispaltig, sticky Sidebar |
| < 768 px (Mobil) | Einspaltig, Zusammenfassung als Toggle |
Logo-Größen lassen sich pro Breakpoint separat konfigurieren (Höhe + max-Breite).
Formularvalidierung
- Clientseitige Validierung beim Absenden (HTML5 + Bootstrap
was-validated) - Auto-Scroll zum ersten fehlerhaften Feld
- Fokus wird automatisch auf das erste ungültige Eingabefeld gesetzt
- Fehlermeldungen in DE und EN per Snippet konfigurierbar
Scroll-Wiederherstellung
Beim Absenden des Formulars wird die aktuelle Scroll-Position in sessionStorage gespeichert. Nach einem Seitenreload (z. B. nach Validierungsfehlern) springt die Seite zur vorherigen Position — der Nutzer muss nicht erneut nach unten scrollen.
Scrollbar-Breiten-Kompensation
Das Plugin misst die Browser-Scrollbalken-Breite und injiziert sie als CSS Custom Property --qubix-scrollbar-width. Damit können fixed-width-Layouts Layout-Shifts bei Modal-Öffnungen vermeiden. Der Wert wird bei resize automatisch neu berechnet (200-ms-Debounce).