Dans Magento 2, le Add to Cart
bouton normal a une très belle logique basée sur AJAX pour ajouter des produits au panier.
Cependant, lorsque nous utilisons un Catalog Products List
widget par exemple dans les pages CMS, le bouton de cette liste de produits fonctionne avec un HTTP POST
qui recharge la page actuelle.
L'expérience utilisateur en souffre et il serait souhaitable que le bouton ait la même logique AJAX que dans les listes de produits de catégorie par défaut ou sur les pages de produits.
Comment pouvons-nous étendre le Catalog Products List
widget pour qu'il utilise le meilleur Add to Cart
bouton? Ou existe-t-il peut-être une autre solution?
Réponses:
Vous devez remplacer le fichier addtocart.phtml
Remplacez maintenant simplement "bindSubmit": false par "bindSubmit": true
À
Supprimez maintenant le cache et le dossier page_cache ou videz le cache.
Remarque: assurez-vous de définir Non à partir de
Store->Configuration->Sales->Checkout->Shopping Cart->After Adding a Product Redirect to Shopping Cart to No
la source
Vous pouvez étendre l'
Catalog Products List
utilisation du panier ajax en créant un module avec les fichiers suivants:/Your/Module/Block/Product/ListBlock.php avec contenu:
Votre / Module / etc / widget.xml avec contenu:
Et enfin votre / Module / view / frontend / templates / product / widget / content / grid.phtml with content:
Assurez-vous de remplacer toutes les instances de «Your \ Module» par vos propres espaces de noms.
la source
Dans Magento 2.2, le
Magento_Catalog/product/view/validation
script est appelé à la place decatalogAddToCart
.Ceci est déjà présent dans
addtocart.phtml
(avec l'radioCheckboxClosest
option config), donc pour activer Ajax Add to Cart, ajoutez simplement l'bindSubmit
option comme ceci:la source
Dans les dernières versions de Magento 2, cela a été changé à nouveau et il est maintenant
la source
Solution pour Magento 2.3
Pour la liste des produits du catalogue de widgets:
Vous devriez trouver un modèle de widget dans ce cas, il est
et insérez ce code:
la source