magento 2ミニカートアイテムページのリロードを削除しますか?


15

ミニカートアイテムを削除するときにページをリロードするにはどうすればよいですか?
私はそれがMagento 2バグであることを知っています。

チェックアウトカートページには、ミニカートと削除したチェックアウトカートページに多くの製品があります。ミニカートでは、コンテンツは更新されません。顧客が商品をカートから削除するページをリロードする必要があります。


これを試してみてくださいmagento.stackexchange.com/a/141334/36463
ビラルウーザン

1
window.location.reload();ajaxの削除が正常に完了した後、javascriptページのリロードを行うことができます。
ジャイミンスタリヤ

回答:


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 Thenにモジュールがある場合、そのモジュール内にあるファイルをクレートするか編集しますNamespace/Your module/etc/frontend/sections.xml

そしてこのファイルの中に書いてください:

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

これは有効な構成宣言の下に記述する必要があります。vendor/ magentoのmodule-checkoutでこれを記述する方法を確認できます。


0

この問題の簡単な修正。

ファイルをコピーする

vendor / magento / module-checkout / 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.