...
Der Konfigurator besitzt eine eigene Struktur für das Javascript, um direkt mit dem Artikel zu arbeiten.
Payload
Change
Um eine Änderung oder Aktion im Konfigurator auszuführen, sollte die Change-Methode verwendet werden. Dabei sollte die payload
entsprechend angepasst werden und eine action
hinzugefügt werden und this.configurator.change
aufgerufen werden. Danach wird in PHP das Event Shop\Configurator\Lib\Event\OnExecuteChange
ausgeführt und man kann auf seine action
und die geänderte payload
reagieren. Um Feedback oder Änderungen der Payload zurück in die Ui zu liefern, sollten StackActions (Http\Response\AdvancedResponseStackElementAbstract
) verwendet werden.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
// ...
async myChangeAction() {
if (
false === this.configurator.blocked &&
this.configurator.payload.hasOwnProperty('cartSessionArticle') &&
this.configurator.payload.cartSessionArticle.shopSessionArticleQuantity !== this.quantity
) {
this.configurator.payload.cartSessionArticle.shopSessionArticleQuantity = this.quantity
this.configurator.payload.actions.push('MyChangeAction')
this.configurator.change()
}
}
// ... |
Modul / eigenes Script laden
...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
export default class MyDummyConfiguratorModule { /** * @param {ShopConfigurator} configurator */ constructor(configurator) { this.configurator = configurator } async process(element) { this.element = element this.changeExample() } async changeExample() { this.configurator.payload.actions.push('MyActionKey') this.configurator.change() } } |
...