마 젠토 2 : 결제 단계 변경 감지 방법


10

Magento 2의 결제에서 단계 변경을 감지하는 가장 좋은 방법을 찾으려고합니다. 예를 들어 운송 세부 사항에서 지불로 또는 그 반대로 이동합니다.

내가 뒷조사를 수행하고있는 한 vendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.js내가 사용할 수 next()있는 화재 계속 버튼을, 그리고에 navigateTo()있는 화재 직접 checkoutstep에 사용자가 클릭 할 때 -하지만 두 가지 방법이 오히려 해키 보인다는 단계 변화를 감지 할 수있는 청소기 방법이있을 상관없이 방법 그리고 어느 단계 .

stepChange()체크 아웃 단계 변경이 발생할 때마다 발생 하는 함수 또는 유사한 것을 원했습니다.

내 질문:

결제 단계 변경이 발생할 때 내 맞춤 JS를 트리거하는 가장 좋은 방법은 무엇입니까?

답변:


13

해시 코드가 변경되는 시점에 대한 핸들을 등록 할 수 있습니다 (예 :) $(window).hashchange(callBack).

이것은 다음에서 발생합니다 Magento_Checkout/view/frontend/web/js/view/progress-bar.js.

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

이렇게하면 stepNavigator.handleHash단계를 변경 next하거나 navigateTo창의 해시 를 변경하기 때문에 단계가 변경 될 때마다 함수가 실행 됩니다.


고맙습니다 Aaron, 사과합니다. 마감일이 있다는 것을 몰랐던 현상금을 완전히주지 않았습니다.
벤 크룩

0

좋은 질문. 가장 좋은 방법이 무엇인지 모르지만 (다른 답변에 관심이 있습니다) .next()또는 사용자 정의 이벤트를 or .isProcessed()함수에 추가 하고 현재 단계를 전달하는 것이 꽤 좋은 해결책 일 수 있다고 생각합니다.


1
다음 단계에 추가하는 것이 좋은 생각이라고 생각하지 않습니다. 다음 단계로 돌아갈 때 실행되지 않습니다.
Ben Crook
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.