- Erstellt von Anh-Kha Nguyen (Unlicensed) , zuletzt geändert von Paul Maul am Aug. 16, 2022
- Tasks
Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.
Unterschiede anzeigen Seitenhistorie anzeigen
« Vorherige Version anzeigen Version 12 Nächste Version anzeigen »
Zuweisung von Variantenprofilen
Variantenprofile können bestimmten Entitäten zugewiesen werden. Sowohl die Information über Variantenprofile, als auch deren Zuweisung erfolgt über die Meta-Informationen eines Datensatzes. Das Variantenprofil erhält einen Eintrag in den Informationen. In diesem Eintrag wird das ggf. vorhandene Variantenprofil angezeigt. Außerdem erhält der Nutzer die Möglichkeit das gewählte Variantenprofil zu ändern.
Struktur
Shop/ArticleVariant
Shop/ArticleVariant bindet die UI-Elemente in die Meta-Informationen ein, da die Artikel eine explizite Implementierung der Varianten haben. Für die Platzierung der UI-Elemente wird das Event OnPopulateEditMetaInformation
von Base/Edit
genutzt.
Shop/Variant
Shop/Variant verarbeitet die Zuweisung des Variantenprofils zu den gewählten Entitäten.
Ui/Variant
Ui/Variant bietet die UI-Elemente an, um ein Variantenprofil zuzuweisen. Der Button, der von Shop/ArticleVariant
zur Zuweisung platziert wird, öffnet ein Modal, welches von Ui/Variant
bereitgestellt wird. Die Informationen aus dem Modal werden wiederum an Verarbeitungslogik von Shop/Variant
weitergegeben (Ui\Variant\Engine::changeVariantProfile
).
Konfiguration von Variantenprofilen / Erzeugen von Varianten (Ui/Variant)
Konfiguration von Variantenprofilen / Erzeugen von Varianten (Ui/Variant)
Events
Diese UI wird über Events errichtet und ist entsprechend anpassbar.
Event | Beschreibung | Nutzung |
---|---|---|
OnPopulateTabsElement | Dieses Event kann genutzt werden, um den Ui\Base-Tab zu manipulieren. | Dieses Event genutzt, um folgende Elemente zu platzieren:
|
OnPopulateToolbar | Dieses Event kann genutzt werden, um die Toolbar der Ansicht zu erweitern. | Das Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateForm | Dieses Event kann genutzt werden, um das Formular zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateClassificationTab | Dieses Event kann genutzt werden, um die Tabs der Attribute zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateRequestContainer | Dieses Event kann genutzt werden, um den Container für ein Attribut zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateVariantAttributesContainer | Dieses Event kann genutzt werden, um den Container der Variantenmerkmale zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateAttributeFieldset | Dieses Event kann genutzt werden, um die Feldgruppen der Variantenmerkmale zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
OnPopulateAttributePriceContainer | Dieses Event kann genutzt werden, um die Preiscontainer der Variantenmerkmale zu erweitern. | Dieses Event wird genutzt, um folgende Elemente zu platzieren:
|
Erzeugen von Varianten
Um Varianten auf Basis eines Variantenprofils zu erzeugen, kann der Button "Varianten erzeugen" genutzt werden. Beim Klick auf diesen Button wird ein Modal geöffnet, in dem eine Selektion an Entitäten gewählt werden kann, für die Varianten erzeugt werden sollen. Das Modal und die Generierung der Varianten sind über die Events ApplyVariantProfile\OnPopulateModalContent
und ApplyVariantProfile\OnApplyVariantProfile
erweiterbar.
Variantenauswahl
Das Variantenprofil bietet verschiedene Möglichkeiten die Auswahl der generierten Varianten zu definieren. Die Art der Auswahl wird in der Property shopArticleVariantProfileViewType gespeichert. Diese Property wird demnach als Kriterium genutzt, um die Auswahl an den Implementationsstellen darzustellen (bspw. auf der Artikeldetailseite im Shop).
Den Einstiegspunkt für die Variantenauswahl bildet View\Variant\Engine::chooseVariantViewDetail
. Diese erzeugt aufgrund von Artikel und Variante einen Kontext und emitiert ein Event, um den Container für die Variantenauswahl zu füllen. Der Produktstandard enthält drei Listener, welche auf dieses Event reagieren können:
- Buttons
- Auswahlfelder
- Manuelle Auswahlfelder
Je nach konfigurierter Darstellung der Variantenauswahl wird ein Listener den bereitgestellten Container mit UI-Elementen füllen. Jeder Listener steuert seine UI-Elemente und deren Aktualisierung nach einer Interatkion über ein eigenes JavaScript.
Auswahlfelder
Die Auswahlfelder werden an dieser Stelle hervorgehoben, da sie über eine besondere Komplexität verfügen. Die Auswahlfelder sind reguläre Auswahlfelder aus der Input/Select-Library, welche in StructureDefinition Dateien definiert werde und entsprechend einige Eventlistener nutzen um das gewünschte Verhalten zu erreichen.
- OnPopulatePayload
- Das Event wird genutzt um dem Auswahlfeld die nötigen Parameter zu geben, um die Suche im Anschluss entsprechend einzuschränken
- OnPopulateValues
- Dieses Event definiert das ausgewählte Attribute nach Variante
- OnPopulateSearch
- Dieses Event ermittelt auf Basis der Payload-Parameter und des Suchbegriffs die Suchergebnisse.
Darüber hinaus werden Listener Clientseitig in JavaScript genutzt, um die Darstellung zu beeinflussen (z.B. die muted-Variante (ChooseVariantSelect.onElementResultPopulate)).
- Keine Stichwörter