Frage

Wenn der Kunde im Standard-Warenkorb von Magento die Menge bearbeitet, muss er/sie die Schaltfläche drücken, um die Menge zu aktualisieren.

Gibt es eine Möglichkeit, dass der Warenkorb die Menge automatisch aktualisiert, wenn der Benutzer eine andere Zahl in das Mengenfeld eingibt?

War es hilfreich?

Lösung

Bearbeiten Sie zuerst den Warenkorb Template /app/design/frontend/{package}/{theme}/template/checkout/cart.phtml und fügen Sie einen id im Formularelement hinzu, um den Zugriff zu erleichtern.Nehmen wir an, Sie fügen Sie 'ID="Cart-Form"'; hinzu

Bearbeiten Sie nun die Vorlagen, die die Warenkorb Artikel rendern:

    .
  • App / Design / Frontend / {Paket} / {Theme} /template/checkout/cart/item/default.phtml
  • App / Design / Frontend / {Paket} / {Theme} /template/downloadable/checkout/cart/item/default.phtml

    und auf dem <input>-Element mit dem Namen cart[<?php echo $_item->getId() ?>][qty] das hinzufügen: generasacodicetagpre.

    Aber ich empfehle das nicht.Es ist wirklich nervig für die Benutzer.(zumindest für mich).

Andere Tipps

Angenommen, Ihre Website hat jQuery im No-Conflict-Modus enthalten, hier ist ein Weg, dies asynchron zu tun (viel weniger nervig!). generasacodicetagpre.

Ich sollte darauf hinweisen, dass dies die folgenden Annahmen macht:

    .
  • Ihr Warenkorb lebt innerhalb eines Elements mit der ID von Einkaufswagen-Tabelle
  • Ihre Eingabefelder für Menge haben ein Namensattribut, das mit [qty] endet

    Es sollte einfach sein, die Selektoren in den Code in den Zeilen 2 bzw. 5, jeweils an Ihre Umstände anzupassen.

Bearbeiten Sie diese beiden Dateien generasacodicetagpre.

und auf dem Element mit dem Namen cart[<?php echo $_item->getId() ?>][qty] Fügen Sie diesen: generasacodicetagpre.

Wenn Ihre jQuery-Version alt ist, werden Sie keinen Erfolg haben.Ich habe einen Weg gefunden, der wie folgt lautet: Befolgen Sie die Anweisungen unseres Freundes Marius zum Einfügen

/app/design/frontend/{package}/{theme}/template/checkout/cart.phtml und fügen Sie dem Formularelement eine ID hinzu, um den Zugriff zu erleichtern.Nehmen wir an, Sie fügen hinzu id="cart-form"

Öffnen Sie nun die Datei

app/design/frontend/{package}/{theme}/template/downloadable/checkout/cart/item/default.phtml

Scrollen Sie zum Ende der Datei und Sie finden das Javascript, das die Menge erhöht und verringert.Die Funktion sieht folgendermaßen aus:

function plusQty(itemId){
    qty = $('qty'+itemId).value;
    qty = parseInt(qty);        
    qty++;
    $('qty'+itemId).value = qty;
}

function minusQty(itemId){
    qty = $('qty'+itemId).value;
    qty = parseInt(qty);        
    if(qty>0){
        qty--;
        $('qty'+itemId).value = qty;
    }
}

Dazu ändern:

function plusQty(itemId){
    qty = $('qty'+itemId).value;
    qty = parseInt(qty);        
    qty++;
    $('qty'+itemId).value = qty;
    document.getElementById("cart-form").submit();  
}

function minusQty(itemId){
    qty = $('qty'+itemId).value;
    qty = parseInt(qty);

    if(qty>0){
        qty--;
        $('qty'+itemId).value = qty;
         document.getElementById("cart-form").submit();   
    }
}

Falls Sie jQuery (noch) nicht geladen haben, können Sie es auch finden <input>Element (oder in meinem Fall a <select> Element, da ich ein Dropdown-Feld zur Auswahl der Menge erstellt habe) mit dem Namen name="cart[<?php echo $_item->getId() ?>][qty]" und füge Folgendes hinzu:

onchange="this.form.submit()"

Die zu bearbeitende HTML-Datei befindet sich hier:

app/design/frontend/{package}/{theme}/template/checkout/cart/item/default.phtml
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top