magento 2 미니 장바구니 항목 페이지를 다시로드 하시겠습니까?


15

미니 카트 항목을 제거 할 때 어떻게 페이지를 다시로드 할 수 있습니까?
나는 그것이 Magento 2버그 라는 것을 안다 .

결제 장바구니 페이지에는 미니 카트뿐만 아니라 결제 장바구니 페이지도 많이 있습니다. 미니 장바구니에서 콘텐츠가 업데이트되지 않았으며 Ajax를 사용하여 결제 장바구니 페이지 콘텐츠를 업데이트하는 것이 큰 일이라는 것을 알고 있습니다. 고객이 장바구니에서 상품을 삭제합니다. 페이지를 새로 고침해야합니다.


그것은 나를 위해 작동이 시도 magento.stackexchange.com/a/141334/36463
빌랄 Usean

1
window.location.reload();ajax 제거가 완료된 후 자바 스크립트 페이지를 다시로드 할 수 있습니다 .
Jaimin Sutariya

답변:


1

모든 결제 페이지 magento 2에서 수정 된 문제

app / design / frontend / Magento / yourtheme / Magento_Checkout / web / js / sidebar.js

=> 완성 함수 뒤에 주석 코드를 넣으십시오

.done(function (response) {
    var msg;
    if (response.success) {
        callback.call(this, elem, response);
       /** **page reload code */
        if(this.options.url.remove == url && window.location.href.indexOf("checkout") > -1){
            window.location.reload(true);
        }**
        /** page reload code */
    } else {
        msg = response['error_message'];

        if (msg) {
            alert({
                content: msg
            });
        }
    }
    })

0

모듈 /app/code 안에있는 경우 해당 모듈 내부에있는 파일을 크레이트하거나 편집하십시오 Namespace/Your module/etc/frontend/sections.xml.

이 파일을 작성하고 내부에 넣습니다.

<action name="checkout/sidebar/removeItem">
<section name="cart"/>
</action> 

유효한 구성 선언으로 작성해야합니다. 벤더 / 마젠 토의 모듈 체크 아웃에서 작성 방법을 확인할 수 있습니다.


0

이 문제에 대한 간단한 수정.

파일을 복사

공급 업체 / 마 젠토 / 모듈-체크 아웃 /view/frontend/web/js/view/minicart.js

your_theme_path / Magento_Checkout / web / js / view / minicart.js

초기화 기능에서

if(window.location.href.indexOf("checkout/cart") > -1) {
         location.reload();
     }

다음과 같이 contentLoading 함수에이 코드를 추가하십시오.

$('[data-block="minicart"]').on('contentLoading', function (event) {
            addToCartCalls++;
            self.isLoading(true);
                $('[data-block="minicart"]').on('contentUpdated', function ()  {
                    $('[data-block="minicart"]').find('[data-role="dropdownDialog"]').dropdownDialog("open");       
                    setTimeout(function() {
                    $('[data-block="minicart"]').find('[data-role="dropdownDialog"]').dropdownDialog("close");
                }, 4000);
            });
            if(window.location.href.indexOf("checkout/cart") > -1) {
                location.reload();
            }
        });
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.