magento 2 supprimer le rechargement de la page de l'article du mini panier?


15

Comment puis-je recharger la page lorsque je supprime un mini-panier?
Je sais que c'est un Magento 2bug.

Sur la page du panier de commande, il existe de nombreux produits dans le mini-panier ainsi que dans la page du panier de commande lorsque je supprime Dans le mini-panier, le contenu n'est pas mis à jour et je sais que c'est une grande chose de mettre à jour le contenu de la page du panier de commande à l'aide d'Ajax, donc je pense à quand client supprimer l'article du panier J'ai besoin de recharger la page.


essayez cela fonctionne pour moi magento.stackexchange.com/a/141334/36463
Bilal Usean

1
Vous pouvez mettre le rechargement de la page javascript une window.location.reload();fois la suppression de ajax terminée.
Jaimin Sutariya

Réponses:


1

Correction d'un problème dans toutes les pages de paiement magento 2

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

=> mettre le code de commentaire après la fonction comple

.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

Si vous avez un module dans /app/code Alors à l'intérieur de cette caisse de module ou éditez un fichier sous Namespace/Your module/etc/frontend/sections.xml.

Et écrivez et à l'intérieur de ce fichier:

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

Cela devrait être écrit sous une déclaration de configuration valide, vous pouvez voir comment l'écrire dans module-checkout sous vendor / magento.


0

Un correctif simple pour ce problème.

Copiez le fichier

fournisseur / magento / module-checkout / view / frontend / web / js / view / minicart.js

à

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

Dans la fonction d'initialisation

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

Ajoutez ce code dans la fonction contentLoading comme ceci

$('[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();
            }
        });
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.