magento 2 удалить страницу мини-корзины перезагрузить страницу?


15

Как я могу перезагрузить страницу, когда я удаляю мини-корзину?
Я знаю, что это Magento 2ошибка.

На странице корзины покупок есть много товаров. В мини-корзине, а также на странице корзины покупок, когда я удаляю. В мини-корзине содержимое не обновляется, и я знаю, что обновлять содержимое страницы корзины покупок с помощью Ajax очень важно, поэтому я думаю о том, когда клиент удалить товар из корзины мне нужно перезагрузить страницу.


попробуйте это, это работает для меня magento.stackexchange.com/a/141334/36463
Билал Усеан

1
Вы можете поставить перезагрузку страницы javascript window.location.reload();после успешного завершения удаления ajax.
Джаймин Сутария

Ответы:


1

Исправлена ​​проблема на всех страницах оформления заказа magento 2

приложение / дизайн / интерфейс / Magento / yourtheme / Magento_Checkout / веб / 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> 

Это должно быть написано в действительной декларации конфигурации, вы можете увидеть, как написать это в module-checkout в vendor / magento.


0

Простое решение этой проблемы.

Скопируйте файл

продавец / Magento / модуль-контроль / просмотр / интерфейс / веб / JS / просмотр / minicart.js

в

your_theme_path / Magento_Checkout / веб / JS / просмотр / 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();
            }
        });
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.