Einfacher & Eleganter Checkout (dfsimplecheckout) — Vollständige Anleitung
One-Page-Checkout installieren, konfigurieren und betreiben: Farben, Logo, ablenkungsfreier Modus, Google- und Facebook-Login, Google Places, länderbewusstes Adressformular, AJAX-Rabattcode und Fehlerbehebung für PrestaShop 8 und 9.
Überblick
DataFirefly Simple Checkout ersetzt den nativen 5-Schritte-Checkout von PrestaShop durch einen modernen One-Page-Kaufprozess, inspiriert von den Checkouts von Shopify und Stripe. Das Modul mountet seinen Controller zur Laufzeit über den Hook actionDispatcher — es wird keine Override-Datei auf die Festplatte geschrieben, und bestehende Drittanbieter-Overrides auf OrderController werden sauber geerbt.
Hauptfunktionen: zweispaltiges Layout mit permanenter Bestellübersicht, Social Login mit Google und Facebook, Adress-Autovervollständigung mit Google Places, länderbewusstes Adressformular, AJAX-Rabattcode, drei konfigurierbare Farben, ablenkungsfreier Modus.
Installation
- Gehen Sie in Ihrem PrestaShop-Back-Office zu Module → Modul-Manager → Modul hochladen.
- Wählen Sie die von Ihrem DataFirefly-Konto heruntergeladene Datei
dfsimplecheckout.zip. - Klicken Sie auf Installieren und dann auf Konfigurieren.
- Leeren Sie den PrestaShop-Cache (Erweiterte Einstellungen → Leistung → Cache leeren).
- Besuchen Sie die Seite
/orderIhres Shops mit einem Produkt im Warenkorb: Der neue Checkout wird sofort angezeigt.
Das Modul ist kompatibel mit PrestaShop 8.0 → 9.x. Keine Theme-Änderung erforderlich. Die Deinstallation stellt automatisch den nativen Checkout wieder her.
Allgemeine Konfiguration
Farben
Drei Farben sind in den Moduleinstellungen konfigurierbar:
- Primärfarbe — Buttons, Links, aktive Zustände, ausgewählte Radios (Standard
#1a73e8). - Button-Hover-Farbe — Hover-Zustand der Primär-Buttons „Weiter“, „Bestellen“ (Standard
#1559b8). - Akzent-/Erfolgsfarbe — Indikatoren abgeschlossener Schritte, Pill des angewendeten Rabattcodes, „Gratis“-Label des Versanddienstleisters, Erfolgsmeldungen (Standard
#008060).
Alle drei Werte werden als CSS-Variablen injiziert (--dfsc-primary, --dfsc-primary-hover, --dfsc-success) und per striktem Hexadezimal-Regex validiert.
Logo
Geben Sie die URL eines benutzerdefinierten Logos für den Checkout-Header an; andernfalls wird das Shop-Logo verwendet. Gerenderte Größe: maximal 190×42 px.
Ablenkungsfreier Modus
Die Option Header und Footer des Themes ausblenden (standardmäßig aktiviert) entfernt den kompletten Header des Themes (Menü, Suche, Warenkorb) und dessen Footer nur auf der Seite /order. Die Implementierung überschreibt die Smarty-Blöcke header und footer in unserem Template: Bei einem Theme, das diese Standardblöcke nicht verwendet, hat die Option schlicht keine Wirkung — niemals eine leere Seite.
Weitere Optionen
- Feld für Kundennotiz an den Verkäufer (ein/aus)
- Rabattcode-Feld (ein/aus)
- Vertrauensabzeichen — freies HTML unter der Übersicht
- Rechtliche Links im Checkout-Footer (AGB, Datenschutz, Widerruf — erkannt über die nativen CMS-Rollen)
Social Login Google
Anmeldedaten erstellen
- Gehen Sie zur Google Cloud Console und erstellen (oder wählen) Sie ein Projekt.
- Erstellen Sie unter APIs & Services → Credentials eine OAuth client ID vom Typ Web application.
- Fügen Sie unter Authorized JavaScript origins die URL Ihres Shops hinzu (z. B.
https://www.meinshop.de) — ohne Pfad, mit https-Protokoll. - Kopieren Sie die generierte Client ID (endet auf
.apps.googleusercontent.com).
Modul konfigurieren
- Aktivieren Sie in den Moduleinstellungen Google Sign-In und fügen Sie die Client ID ein.
- Speichern, dann Cache leeren.
- Auf
/ordererscheint der Google-Button oberhalb der Tabs „Ich bin Neukunde / Ich habe bereits ein Konto“.
Der Ablauf: Der Kunde klickt, wählt sein Google-Konto, und das Modul erhält ein JWT, das serverseitig über den offiziellen Endpoint tokeninfo validiert wird (Prüfung von Audience, Aussteller, Ablauf und verifizierter E-Mail). Existiert bereits ein Kundenkonto mit dieser E-Mail, wird der Kunde angemeldet; andernfalls wird automatisch ein Konto mit Vor- und Nachnamen des Google-Profils erstellt.
Social Login Facebook
App erstellen
- Erstellen Sie auf Meta for Developers eine App vom Typ Consumer.
- Fügen Sie das Produkt Facebook Login hinzu und deklarieren Sie Ihre Domain in den Einstellungen.
- Holen Sie sich App ID und App Secret unter Settings → Basic.
Modul konfigurieren
Aktivieren Sie Facebook Login in den Einstellungen, fügen Sie App ID und App Secret ein, speichern. Die serverseitige Validierung erfolgt in zwei Schritten: debug_token (verifiziert, dass das Token zu Ihrer App gehört) gefolgt vom Profilabruf mit appsecret_proof-Signatur (HMAC-SHA256). Das App Secret verlässt Ihren Server nie.
Adress-Autovervollständigung Google Places
- Aktivieren Sie in der Google Cloud Console die APIs Places API und Maps JavaScript API.
- Erstellen Sie einen API-Schlüssel und beschränken Sie ihn auf Ihre Domain (empfohlen).
- Aktivieren Sie im Modul Adress-Autovervollständigung und fügen Sie den Schlüssel ein.
Das Adressfeld des Formulars bietet dann während der Eingabe Vorschläge an. Die Auswahl eines Vorschlags füllt Straße, Zusatz, Stadt, PLZ, Land und ggf. Region aus. Die Vorschläge sind auf die aktiven Länder Ihres Shops beschränkt (bis zu 5 Länder — Limit der Google-API).
Google berechnet die Places API oberhalb des monatlichen Gratiskontingents. Für einen Shop mit moderatem Volumen reicht das Gratiskontingent in der Regel aus.
Länderbewusstes Adressformular
Das Adressformular passt sich automatisch an das gewählte Land an:
- Das Standardland des Dropdowns ist das in International → Lokalisierung Ihres Back-Office konfigurierte (nicht das alphabetisch erste Land).
- Das Feld Bundesland/Region erscheint nur für Länder, die welche haben (USA, Spanien, Italien…), und sein Dropdown listet nur die aktiven Regionen des gewählten Landes.
- Das Feld DNI erscheint für Länder, die es verlangen (Spanien).
- Die PLZ-Validierung verwendet das Format des Landes.
- Bei Landwechsel lädt die Seite neu, mit dem für das neue Land umstrukturierten Formular.
Adressbearbeitung
Jede gespeicherte Adresse zeigt ein Bleistift-Symbol. Ein Klick öffnet das Inline-Formular, vorausgefüllt mit allen Werten der Adresse (serverseitig geladen mit Eigentümerprüfung — ein Kunde kann niemals die Adresse eines anderen einsehen). Das Speichern aktualisiert die bestehende Adresse, ohne ein Duplikat anzulegen.
Rabattcode
Das (aktivierbare) Rabattcode-Feld funktioniert per AJAX: Anwenden und Entfernen ohne Neuladen, mit sofortiger Aktualisierung der Übersicht. Die Operationen werden an PrestaShops nativen CartController delegiert, sodass alle Warenkorbregeln (Daten, Mindestbetrag, Versandbeschränkungen, Kumulierung) identisch eingehalten werden. Native Fehlermeldungen („Dieser Gutschein ist abgelaufen“, „Mindestbetrag nicht erreicht“…) werden unverändert angezeigt.
Versandkompatibilität und Colissimo
Der Zusatzinhalt der Versanddienstleister (Colissimo-Abholpunkt-Karte, Mondial-Relay-Widget…) wird über {$carrier.extraContent} gerendert, exakt wie im nativen Template. Für Colissimo Abholpunkte injiziert das Modul automatisch die Daten des gewählten Punkts (Kennung, Mobilnummer) in die Validierungsanfragen, was die falsche Meldung „Bitte wählen Sie einen Abholpunkt“ eliminiert, die das Colissimo-Modul bei One-Page-Checkouts anzeigen konnte.
Entwickler-Hooks
displayDfsimplecheckoutExpress— Slot oben im Checkout für Express-Zahlungen (Apple Pay, Google Pay, PayPal Express).displayDfsimplecheckoutSidebarTop/displayDfsimplecheckoutSidebarBottom— Injektionszonen in der Übersichtsspalte.actionDfscSocialLogin— wird nach einem erfolgreichen Social Login ausgelöst, mit den Parameterncustomerunddfsc_social_provider(googleoderfacebook). Nützlich für CRM-Tagging.
Fehlerbehebung
Der Google-Button wird nicht angezeigt
- Prüfen Sie, ob die Client ID eingetragen und die Option aktiviert ist.
- Prüfen Sie in der Browser-Konsole, ob ein „origin not allowed“-Fehler vorliegt — falls ja, fügen Sie die exakte URL Ihres Shops (mit https, ohne abschließenden Schrägstrich) in die Authorized JavaScript origins der Google Cloud Console ein.
Der Social Login bleibt nicht bestehen
Leeren Sie den PrestaShop-Cache und den Browser-Cache. Bleibt das Problem bestehen, prüfen Sie, ob ein Drittanbieter-Sicherheitsmodul die Session-Cookies nach dem Login invalidiert.
Das Feld Bundesland zeigt falsche Regionen
Stellen Sie sicher, dass Sie Modulversion 1.2.20 oder höher verwenden, welche die Formularstruktur serverseitig für jedes Land auflöst.
Leere Seite auf /order
Aktivieren Sie den PrestaShop-Debug-Modus (_PS_MODE_DEV_), um den Fehler anzuzeigen, oder prüfen Sie var/logs. Stellen Sie sicher, dass kein anderes One-Page-Checkout-Modul gleichzeitig aktiv ist.
Deinstallation
Deinstallieren Sie das Modul über den Modul-Manager. Die Runtime-Umgebung wird sofort freigegeben und der native 5-Schritte-Checkout wiederhergestellt. Keine Restdateien, keine verwaisten Daten.