Rhymix 2.1 |
1. formdata.html (상품상세에서 주문하기 클릭시 열리는 페이지. 이 페이지에서 동작하는 폼버튼은 주문검토과정임)
https://github.com/bjrambo/nurigo/blob/master/modules/epay/plugins/manualorder/tpl/formdata.html
결제대행 버튼을 클릭하면, manualorder_payment() 함수가 실행됩니다.
2. script.js
https://github.com/bjrambo/nurigo/blob/master/modules/epay/plugins/manualorder/tpl/js/script.js
해당 함수를 보면
procFilter(document.getElementById('fo_manualorder'), submit_manualorder_review);
submit_manualorder_review.xml을 실행합니다.
3. submit_manualorder_review.xml
epay 모듈의 procEpayReviewOrder 함수를 실행하고,
completeMakeReviewOrder를 콜백함수로 받고 있습니다.
해당 함수는 script.js를 살펴보면, 새창으로 뜬 폼을 1초 뒤에 실행합니다.
4. start.html (실제 주문하기가 동작되는 폼)
https://github.com/bjrambo/nurigo/blob/master/modules/epay/plugins/manualorder/tpl/start.html
주문완료하기 버튼을 클릭하면, doMakePayment() 함수가 실행됩니다.
5. script.js
2번 스크립트를 참조해보면, submit_manualorder_payment.xml이 실행됩니다.
procFilter(opener.document.getElementById('fo_manualorder'), opener.submit_manualorder_payment);
6. submit_manualorder_payment.xml
epay 모듈 procEpayDoPayment 함수 실행하고 있습니다.
completeMakePayment를 콜백함수로 받고 있습니다.
이 함수는 script.js를 보면, ret_obj['return_url'] 값이 있으면 해당 url로 넘겨주는 역할을 수행합니다.
이 페이지가
?mid=basket&act=dispStoreOrderComplete&order_srl=주문번호
이런 식으로 리다이렉트 됩니다...
[질문]
여기서 procFilter() 함수를 빼려고 합니다. 문제는 첫번째 submit_manualorder_review.xml 는 값이 정상적으로 넘어옵니다.
console.log(JSON.stringify(ret_obj, null, 2));
이렇게 하면 넘어온 값들을 확인할 수가있는데,
원래라면 여기서 새창을 띄워서 procFilter()로 체크해서 콜백함수를 받는건데,
새창없이 그대로 진행하려고 합니다.
[formdata.html]
[script]
이렇게 하고 실행을 했는데 completeRevieOrder()은 정상적으로 ret_obj값을 가져와지는데요,
이 안에서 다시 필요한 값만 변경 시키고 바로 submit을 실행을 하면 그게 잘 동작을 하지 않는 거 같습니다..
MutationObserver도 혹시나 해서 동작시켜주고 있습니다만. completeMakePayment까지는 실행을 못하네요.
String data, right truncated: 1406 Data too long for column 'extra_vars' at row 1