Ich versuche herauszufinden, wie eine Schrittänderung in der Kaufabwicklung von Magento 2 am besten erkannt werden kann. Zum Beispiel von den Versanddetails zur Zahlung oder umgekehrt.
Ich habe ein bisschen gegraben und vendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.js
kann verwenden, next()
welche Brände auf der Schaltfläche "Weiter" ausgelöst werden und navigateTo()
welche ausgelöst werden, wenn ein Benutzer direkt auf den Checkout-Schritt klickt. Beide Methoden scheinen jedoch ziemlich hackig zu sein. Es muss eine sauberere Methode geben, um eine Schrittänderung zu erkennen, unabhängig davon, wie und welcher Schritt .
Ich hatte auf eine stepChange()
Funktion oder ähnliches gehofft, die bei jeder Änderung des Checkout-Schritts ausgelöst wird.
Meine Frage:
Was ist die beste Methode, um mein benutzerdefiniertes JS auszulösen, wenn ein Checkout-Schritt geändert wird?
quelle
Gute Frage. Ich weiß nicht, was der beste Weg ist (ich bin an anderen Antworten interessiert), aber ich denke, dass das Hinzufügen eines benutzerdefinierten Ereignisses zur
.next()
oder.isProcessed()
Funktion und das Übergeben des aktuellen Schritts eine ziemlich gute Lösung sein könnte.quelle