Shop by coding.ms: Suche, Checkout und AJAX-Basket
Description
Shop by coding.ms 6.1.0 erweitert die Suche, das Warenkorb-Verhalten und die Checkout-Optionen. Du profitierst von feineren Autocomplete-Einstellungen, einem cachebaren AJAX-Basket-Button mit optionaler Vorschau (Pro-Version) und neuen Anzeigebedingungen im Checkout, die die Nutzerführung verbessern und Ladezeiten reduzieren.
- Suche: Die Autocomplete-Funktion lässt sich jetzt über Content-Element-Flexform-Einstellungen einschränken (z. B. nur hervorgehobene Produkte, Kategorien, Tags). Quicksearch und List-Search erhalten einen Autocompleter und eine Kategorie-Select-Option. Optional kannst Du deutsche Zeichen-Varianten (z. B. ss ↔ ß) aktivieren, um Suchergebnisse konsistenter zu treffen.
- Warenkorb / AJAX: Neu ist ein cachebarer BasketButtonAjax-Plugin, das seinen Inhalt per AJAX beim Seitenaufbau lädt und optional ein Warenkorb-Vorschaufenster anzeigt (Pro-Version). In der Vorschau kannst Du Artikel per AJAX entfernen, wodurch Interaktionen schneller und reibungsloser ablaufen.
- Checkout & Rechnungen: Es gibt eine Anzeigebedingungs-Logik für Bestell-Info-Felder und Checkout-Formulare sowie konfigurierbare CSS-Klassen für das gesamte Checkout-Template. Die Checkout-Überschrift wurde in ein separates Fluid-Partial ausgelagert und kann optional innerhalb eines Field-Wrappers angezeigt werden. Zudem wurden separate Felder für Rechnungsdatum und lokale Invoice-PDF eingeführt sowie eine Backend-Option zum Anhängen der Rechnung an manuelle Mails; ein Checkbox-Feld für "reminder-sent" unterstützt Pro-Commands für Erinnerungen.
- Technische Aufgaben & Optimierungen: JavaScript für Basket-Buttons wurde in Shop.basketButton.js ausgelagert und via f:asset eingebunden. Es gibt einen Helper im Produkt-Model zum Abruf der ersten Kategorie, Performance-Optimierungen für List-Search inklusive Zeitmessung im Debug-Modus, Bootstrap-4-Anpassungen (u. a. Umbenennung zu form-control) und zusätzliche CSS-Klassen für Checkout-Wrapper. Du kannst Beträge/Preise in Checkout-Mails verbergen und Vorlagen für Zahlungsbestätigungen bzw. Zahlungserinnerungen nutzen.
- Fehlerbehebungen: Zahlreiche Bugfixes verbessern Stabilität und Übersetzungen, darunter: dynamische Richtext-Initialisierung im Backend (CKEditor), Zugriff auf undefined-Array-Keys (sellerCountryCode), Probleme mit Produkt-UIDs bei sys_language_uid > 0, JavaScript-Fehler ohne Coupon-Konfiguration, doppelte Autocomplete-Einträge, Backend-Übersetzungen in Englisch, Bookmarking nicht verfügbarer Produkte, Caching bei Widerruf, Auslesen vordefinierter Lieferadressen, fehlende Pflichtvalidierung von Select-Boxen und Korrekturen in der E-Mail-Basket-Darstellung bei steuerfreien Bestellungen mit Coupon.
- Weiteres: basketOrder.paramsArray enthält jetzt valueString neben value für Select-Felder; Changelog-Bereinigung und optimierte deutsche Übersetzungen; kompatiblere .htaccess für Order-PDF/XML-Ordner; Normalisierung von Button-Labels für Zahlungsanbieter.
Change-Log
## 2026-08-19 Release of version 6.1.0
* [FEATURE] Restrict search autocomplete by content element flexform settings (highlighted only, categories, tags)
* [FEATURE] Add a cacheable BasketButtonAjax plugin which loads it's content via AJAX on page load, including an optional basket content preview (pro version)
* [FEATURE] Add a remove-button within the basket content preview, which allows to remove basket items using AJAX from the basket
* [FEATURE] Add an auto-completer and a category select in the quicksearch and list-search
* [FEATURE] Add an auto-completer setting for enableing german-character-variants like `ss` to `ß` in search
* [FEATURE] Introduce a display-condition logic for confirm-order info-fields and a CSS-class configuration for the whole checkout template
* [FEATURE] Introduce a display-condition logic for checkout form-fields and a CSS-class configuration for the whole checkout template
* [FEATURE] Move headline in checkout-form into a separate Fluid partial and add a setting for having this headline optional within a field-wrapper
* [FEATURE] Insert a checkbox for reminder-sent in basket-item record. This flag is used for the send-access-expiry-reminder command of the pro-version.
* [FEATURE] Add an optional checkbox in send-message to basket-order customer in backend, which allows to attach the basket-order invoice to this mail – this enables you to send manual payment-reminder mails
* [FEATURE] Introduce a separate basket-order field for the invoice-date and invoice-pdf, which points to a local copy of the invoice (if configured)
* [TASK] Inserted value-strings in the basketOrder.paramsArray for havin field.valueString next to field.value in select-field nodes
* [TASK] Optimize german translation values
* [TASK] Clean up change-log file
* [TASK] Move the basket-button related JavaScript (add-to-basket, quantity update) into a separate Shop.basketButton.js file, included via f:asset in the basket-button templates
* [TASK] Add a helper getter in product model for fetching the first category object
* [TASK] Optimize naming, messages and more between regular orders and request in checkout
* [TASK] Add configuration settings for hiding the amount and prices in checkout mails
* [TASK] Add configuration for CSS classes for the prepend-headline, prepend-horizotal-rule and append-horizontal-rule in checkout and confirmation view
* [TASK] Rename the form-select CSS-class in Bootstrap 4 configuration into form-control
* [TASK] Add missing CSS-classes in checkout-form wrapper
* [TASK] Optimize performance for list search and add time measurement in debug-mode
* [TASK] Add example customer message templates for payment-received and payment-reminder
* [TASK] Normalize button label for the individual payment-provider in checkout view
* [TASK] Ensure the store order pdf and xml folder has a more compatible .htaccess restriction file
* [BUGFIX] Fix dynamic richtext initialization in backend, when a CKEditor is required for some product-records defined by product-type attributes.
* [BUGFIX] Fix accessing undefined array key sellerCountryCode in basket-order-service
* [BUGFIX] Fix using product-uid in lists, basket-view and other when having a sys-language-uid > 0
* [BUGFIX] Fix JavaScript error if no coupon-code is configured in basket and checkout
* [BUGFIX] Remove duplicate entries from search auto-completer
* [BUGFIX] Fix english language file in backend-context
* [BUGFIX] Fix bookmarks-service if a non available product is bookmarked
* [BUGFIX] Fix caching behavior in revocation logic
* [BUGFIX] Fix fetching fields for pre-defined delivery-addresses during checkout
* [BUGFIX] Fix english translation value for the default country field in the checkout
* [BUGFIX] Fix the missing required validation of select-boxes in the checkout
* [BUGFIX] Fix basket-view and order-summary in email if there is a vatable-free basket-order with a coupon-code rendered.