Magento 2: Ödeme Adımı Değişikliği Nasıl Tespit Edilir


10

Magento 2'nin kasada bir adım değişikliğini tespit etmenin en iyi yöntemini bulmaya çalışıyorum. Örneğin, gönderim ayrıntılarından ödemeye veya tersi.

Biraz kazma yaptım ve devam et düğmesinde hangi yangınları ve bir kullanıcı doğrudan ödeme adımını tıkladığında hangi yangınları vendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.jskullanabileceğimi biliyorum - ancak her iki yöntem de oldukça çirkin görünüyor , nasıl olursa olsun bir adım değişikliğini tespit etmek için daha temiz bir yol olmalı ve hangi adımda .next()navigateTo()

stepChange()Bir ödeme adımı değişikliği olduğunda tetiklenen bir işlev veya benzeri bir şey umuyordum .

Benim sorum:

Bir ödeme adımı değişikliği gerçekleştiğinde özel JS'mi tetiklemenin en iyi yöntemi nedir?

Yanıtlar:


13

Karma kodu değiştiğinde bir tanıtıcı kaydedebilirsiniz, örn $(window).hashchange(callBack).

Bu şu şekilde olur Magento_Checkout/view/frontend/web/js/view/progress-bar.js:

$(window).hashchange(_.bind(stepNavigator.handleHash, stepNavigator));

Bu stepNavigator.handleHash, adım değiştiğinde işlevin çalışmasına neden olur, çünkü adımları kullanarak nextveya navigateTopencerenin karmasını değiştirir.


Teşekkürler Aaron, özür dilerim tam ödül vermedi bunun için bir son tarih olduğunun farkında değildim.
Ben Crook

0

İyi soru. En iyi yolun ne olduğunu bilmiyorum (diğer cevaplarla ilgileniyorum) ama .next()veya .isProcessed()fonksiyona özel bir etkinlik eklemenin ve mevcut adıma geçmenin oldukça iyi bir çözüm olabileceğini düşünüyorum.


1
Bir sonraki aşamaya eklemenin iyi bir fikir olduğunu düşünmüyorum, o zaman bir adım geri döndüğünüzde ateşlenmeyecek
Ben Crook
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.