magento 2 remover a página de item do mini carrinho recarregar?

15

Como recarregar a página quando removo o item do minicarrinho?
Eu sei que é Magento 2bug.

Na página do carrinho de compras, há muitos produtos No carrinho de compras e na página do carrinho de compras quando removo No carrinho de compras, o conteúdo não é atualizado e sei que é importante atualizar o conteúdo da página do carrinho de compras usando o Ajax, por isso estou pensando em quando cliente remover item do carrinho, preciso recarregar a página.

Pratik
fonte
tente isso funciona para mim magento.stackexchange.com/a/141334/36463
Bilal Usea
11
Você pode colocar a página javascript recarregada window.location.reload();depois que a remoção do ajax for concluída com êxito.
Jaimin Sutariya

Respostas:

1

Corrigido o problema em todas as páginas de check-out magento 2

app / design / front-end / Magento / yourtheme / Magento_Checkout / web / js / sidebar.js

=> coloque o código do comentário após a função completa

.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
            });
        }
    }
    })
HIren Kadivar
fonte
0

Se você tiver algum módulo em /app/code Então, dentro desse módulo, crie ou edite um arquivo em Namespace/Your module/etc/frontend/sections.xml.

E escreva e dentro deste arquivo:

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

Isso deve ser escrito sob uma declaração de configuração válida. Você pode ver como escrever isso na verificação do módulo em vendor / magento.

Kumar M
fonte
0

Uma correção simples para esse problema.

Copie o arquivo

fornecedor / magento / check-out do módulo / view / frontend / web / js / view / minicart.js

para

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

Na função de inicialização

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

Adicione este código na função contentLoading como esta

$('[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();
            }
        });
Athul Vijayan
fonte