En Magento 2, el Add to Cartbotón normal tiene una lógica muy buena basada en AJAX para agregar productos al carrito.
Sin embargo, cuando usamos un Catalog Products Listwidget, por ejemplo, en páginas CMS, el botón en esta lista de productos funciona con un HTTP POSTque recarga la página actual.
La experiencia del usuario sufre esto y sería deseable si el botón tuviera la misma lógica AJAX que en las listas de productos de la categoría predeterminada o en las páginas de productos.
¿Cómo podemos extender el Catalog Products Listwidget para que use el botón mejor Add to Cart ? ¿O tal vez hay otra solución?

Respuestas:
Tienes que anular el archivo addtocart.phtml
Ahora solo reemplace "bindSubmit": falso a "bindSubmit": verdadero
A
Ahora elimine el caché y la carpeta page_cache o vacíe el caché.
Nota: Asegúrese de tener que establecer No desde
Store->Configuration->Sales->Checkout->Shopping Cart->After Adding a Product Redirect to Shopping Cart to Nofuente
Puede ampliar el
Catalog Products Listuso del carrito ajax creando un módulo con los siguientes archivos:/Your/Module/Block/Product/ListBlock.php con contenido:
Su / Módulo / etc / widget.xml con contenido:
Y finalmente Your / Module / view / frontend / templates / product / widget / content / grid.phtml con contenido:
Asegúrese de reemplazar todas las instancias de 'Your \ Module' con sus propios espacios de nombres.
fuente
En Magento 2.2, el
Magento_Catalog/product/view/validationscript se llama en lugar decatalogAddToCart.Esto ya está presente en
addtocart.phtml(con laradioCheckboxClosestopción de configuración), por lo que para habilitar Ajax Add to Cart simplemente agregue labindSubmitopción de esta manera:fuente
En los últimos lanzamientos de Magento 2, esto cambió nuevamente y ahora es
fuente
Solución para Magento 2.3
Para la lista de productos del catálogo de widgets:
Debería encontrar la plantilla del widget en este caso, es
e inserte este código:
fuente