En Magento 2, el Add to Cart
botón normal tiene una lógica muy buena basada en AJAX para agregar productos al carrito.
Sin embargo, cuando usamos un Catalog Products List
widget, por ejemplo, en páginas CMS, el botón en esta lista de productos funciona con un HTTP POST
que 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 List
widget 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 No
fuente
Puede ampliar el
Catalog Products List
uso 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/validation
script se llama en lugar decatalogAddToCart
.Esto ya está presente en
addtocart.phtml
(con laradioCheckboxClosest
opción de configuración), por lo que para habilitar Ajax Add to Cart simplemente agregue labindSubmit
opció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