Skip to main content
Mithilfe dieser Funktion können Kunden Produkte per QR- oder Barcode aufrufen und in den Warenkorb legen. Ein Scanner-Icon im Suchfeld öffnet die Kamera im Vollbild-Modus. Wird eine URL gescannt, erfolgt einen direkte Weiterleitung. Wird hingegen ein Barcode gescannt, wird das Produkt mit der gescannten ID direkt in den Warenkorb gelegt.

Module

Folgende Module sind relevant für die Integration von Scan & Order:
  • $wsViews - aktuelle URL, Zielseiten, View-URLs

Frontend-Integration

Abhängigkeiten

Der Scanner basiert auf der Open-Source-Bibliothek html5-qrcode. Die Datei html5-qrcode.min.js wird im Verzeichnis scripts/ abgelegt und erst beim Öffnen des Scanners per Lazy-Load eingebunden.

QR-Button im Suchfeld

Der Button wird direkt vor dem Suchfeld innerhalb der Komponente ws-search-box platziert und öffnet den Scanner. Er erscheint, je nach Endgerät, an folgenden Stellen:
  • in der Desktop-Suchleiste des Headers
    Image
  • im mobilen Offcanvas-Navigationsmenü
    Image

Die Einbindung in den Header erfolgt über die Datei components/layout/header.htm:
Der Button muss sowohl im Desktop-Header als auch im mobilen Offcanvas-Menü identisch platziert werden. Mithilfe des Attributs aria-label=%QRCodeBtnTitle% werden die Shop-Textbausteine für die Barrierefreiheit benutzt.
Das Vollbild-Modal wird einmalig im Basis-Layout eingefügt. Der Bereich #wsQRScanner ist dafür zuständig, dass die Kameravorschau von HTML5-QR-Code angezeigt wird. Die Einbindung erfolgt über die Datei layouts/default.htm :

JavaScript-Konstante

Der Pfad zur Bibliothek wird im {{ autoescape "js" }} -Block der Layout-Datei layouts/default.htm als JavaScript-Variable gesetzt.

Scanner-Logik

Der folgende Code-Block ist in die Datei scripts/wsGlobal.js einzufügen. Der Ablauf ist wie folgt:
  1. Beim ersten Öffnen des Scanners wird html5-qrcode.min.js nachgeladen.
  2. War die Bibliothek bereits geladen, wird der Scanner direkt über wsInitQRScan() gestartet.
  3. html5-qrcode startet die Kamera und zeigt die Vorschau im #wsQRScanner -Bereich an.
  4. Nach erfolgreichem Scan leiten URL-Codes direkt zur gescannten URL weiter - Barcodes legen das Produkt mit der gescannten ID direkt in den Warenkorb.
  5. Beim Schließen des Fensters wird die Kamera gestoppt.