magento 2 entfernen mini warenkorb artikel seite neu laden?


15

Wie kann ich die Seite neu laden, wenn ich Mini-Warenkorb-Artikel entferne?
Ich weiß, dass es ein Magento 2Fehler ist.

Auf der Checkout-Warenkorb-Seite befinden sich viele Produkte. Im Mini-Warenkorb sowie auf der Checkout-Warenkorb-Seite, wenn ich sie entferne. Der Inhalt der Checkout-Warenkorb-Seite wird nicht aktualisiert, und ich weiß, dass es wichtig ist, den Inhalt mit Ajax zu aktualisieren Kunde Artikel aus dem Warenkorb entfernen Ich muss die Seite neu laden.


Versuchen Sie dies, es funktioniert für mich magento.stackexchange.com/a/141334/36463
Bilal Usean

1
Sie können Javascript-Seite neu laden, window.location.reload();nachdem Ajax erfolgreich abgeschlossen wurde.
Jaimin Sutariya

Antworten:


1

Problem in allen Checkout-Seiten von Magento 2 behoben

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

=> setze den Kommentarcode nach der Kompilierfunktion

.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

Wenn Sie ein Modul in /app/code Then in dieser Modulkiste haben oder eine Datei unter bearbeiten Namespace/Your module/etc/frontend/sections.xml.

Und schreiben und in diese Datei:

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

Dies sollte unter gültige Konfigurationsdeklaration geschrieben werden. Sie können sehen, wie dies im Modul-Checkout unter Vendor / Magento geschrieben wird.


0

Eine einfache Lösung für dieses Problem.

Kopieren Sie die Datei

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

zu

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

In der Initialisierungsfunktion

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

Fügen Sie diesen Code in die Funktion contentLoading ein

$('[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();
            }
        });
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.