Warenkorb

Grundsetup

Der Warenkorb muss zuerst global aktiviert werden damit dieser benutzt werden kann:

IServiceCollection.AddQuinoBasket()

Danach kann für jede einzelne Klasse der Warenkorb aktiviert werden:

MetaClassBuilder.IsBasketClass()

Im Client muss das Module aktiviert werden:

BasketModule.use(application)

Die Steps für den Warenkorb können individuell konfiguriert werden. Per Standard wird lediglich die Übersicht angezeigt und der Warenkorb danach direkt abgeschickt.

Es steht eine generelle Aktion zur Verfügung welche eine Klasse in den Warenkorb hinzufügt:

Im Client kann der Warenkorb auch einfach über eigene Aktionen individuell befüllt werden. Dazu steht der IBasketService zur Verfügung mit verschiedenen Methoden.

Layouts

Für einen Warenkorb stehen verschiedene Layouts zur Verfügung. Per Standard werden die folgenden aufgelöst:

image-20240416-061942.png

Layout-Name

Beschreibung

Layout-Name

Beschreibung

BasketTitle

Wird verwendet um einfache Elemente anzuzeigen.

Das Titel-Layout wird kompakt auf einer Zeile angezeigt. Im obigen Beispiel “Article 1 - 12.00”

BasketDetail

Wir verwendet wenn ein Element noch editiert werden kann. Im obigen Beispiel wird ein Popup mit dem entsprechenden Layout geöffnet bei einem Klick auf das Stift Icon.

BasketDisplayDetail

Wird verwendet um komplexe Elemente im Warenkorb anzuzeigen. Im obigen Beispiel die Details zu einer Kursbuchung. Dieses Layout ist beliebig erweiterbar.

Optionen

Auf jeder Entität die für den Warenkorb zugänglich gemacht wird können verschiedene Optionen konfiguriert werden:

Option

Default

Beschreibung

Option

Default

Beschreibung

ShowPrice

true

Die Anzeige des Preises auf der rechten Seite der Zeile kann deaktiviert werden. Die Berechnung findet trotzdem statt. Die Anzeige bleibt aber aus.

EnableQuantitySelector

false

Erlaubt es die Menge direkt im Warenkorb zu editieren.

EnablePopupEditor

false

Erlaubt es eine Element nochmals direkt im Warenkorb über ein Popup zu editieren.

PopupEditorLayout

-

Erlaubt es ein abweichendes Layout für einen Eintrag zur Verfügung zu stellen.

UseDetailForList

false

Die normale Darstellung im Warenkorb ist kompakt - es wird eine Zeile für einen Eintrag verwendet. Bei grösseren Buchung kann dies verändert werden damit ein komplettes Detail angezeigt wird mit beliebiger Komplexität.

DetailLayout

-

Das Layout welches für die Darstellung verwendet wird im Warenkorb. Hat nur einen Effekt wenn “UseDetailForList” auf true gesetzt ist.

OwnsTarget

false

Ob der Warenkorb die erstellte Klasse besitzt. Im Falle das ein Eintrag aus dem Warenkorb entfernt wird so wird die angehängt Klasse gelöscht. z.B. bei einer Buchung für einen Kurs.

Übersetzungen

Der Warenkorb stellt folgende Übersetzungen zur Verfügung:

Schlüssel

Beschreibung

Schlüssel

Beschreibung

Basket.Empty

Wird angezeigt wenn der Warenkorb leer ist.

Basket.Overview

Bezeichnung für den ersten Stepper.

Basket.Summary

Titel für die Zusammenfassung auf der Sidebar.

Basket.Payment

Titel für den Bezahlung-Stepper.

Basket.Positions

Titel für die einzelnen Positionen auf der Übersicht.

Basket.Clear

Löschen des Warenkorbes.

Basket.ItemAdded

Meldung wenn eine Position dem Warenkorb hinzugefügt wurde.

Basket.ItemAddFailed

Meldung wenn eine Position dem Warenkorb nicht hinzugefügt werden kann.

Basket.Total

Total des Warenkorbes.

Basket.Pay

Bezahlen Titel für Stepper.

Basket.Checkout

Checkout Titel.

Basket.FinishPage

Wird beim Abschluss des Warenkorbes angezeigt. Unterstützt Markdown und HTML.