In Magento 2 verfügt die normale Add to Cart
Schaltfläche über eine sehr schöne AJAX-basierte Logik zum Hinzufügen von Produkten zum Warenkorb.
Wenn wir jedoch ein Catalog Products List
Widget beispielsweise auf CMS-Seiten verwenden, funktioniert die Schaltfläche in dieser HTTP POST
Produktliste mit einem, das die aktuelle Seite neu lädt.
Die Benutzererfahrung leidet darunter, und es wäre wünschenswert, wenn die Schaltfläche dieselbe AJAX-Logik wie in den Produktlisten der Standardkategorie oder auf Produktseiten hätte.
Wie können wir das Catalog Products List
Widget so erweitern, dass es die bessere Add to Cart
Schaltfläche verwendet? Oder gibt es vielleicht eine andere Problemumgehung?
Antworten:
Sie müssen die Datei addtocart.phtml überschreiben
Ersetzen Sie jetzt einfach "bindSubmit": false durch "bindSubmit": true
Zu
Löschen Sie nun den Cache und den Ordner page_cache oder leeren Sie den Cache.
Hinweis: Stellen Sie sicher, dass Sie Nein von einstellen müssen
Store->Configuration->Sales->Checkout->Shopping Cart->After Adding a Product Redirect to Shopping Cart to No
quelle
Sie können
Catalog Products List
den Ajax-Wagen erweitern, indem Sie ein Modul mit den folgenden Dateien erstellen:/Your/Module/Block/Product/ListBlock.php mit Inhalt:
Ihre / Module / etc / widget.xml mit Inhalt:
Und schließlich Ihr / Modul / view / frontend / templates / product / widget / content / grid.phtml mit Inhalt:
Stellen Sie sicher, dass Sie alle Instanzen von 'Your \ Module' durch Ihre eigenen Namespaces ersetzen.
quelle
In Magento 2.2 wird das
Magento_Catalog/product/view/validation
Skript anstelle von aufgerufencatalogAddToCart
.Dies ist bereits in
addtocart.phtml
(mit derradioCheckboxClosest
Konfigurationsoption) vorhanden. Um Ajax Add to Cart zu aktivieren, fügen Sie einfach die folgendebindSubmit
Option hinzu:quelle
In den neuesten Magento 2-Versionen wurde dies erneut geändert und ist es jetzt
quelle
Lösung für Magento 2.3
Für Widget-Katalog Produktliste:
In diesem Fall sollten Sie eine Widget-Vorlage finden
und fügen Sie diesen Code ein:
quelle