Liquid, Javascript
Hola comunidad!
Estoy tratando de implementar una funcionalidad en el carrito de mi sitio y no logro que funcione al 100%.
Consiste en que si el usuario marca (o no) unos radio buttons, se agregue unos productos al carrito luego de hacer click en el botón de checkout. Son dos radio buttons con dos productos distintos. El problema es que a veces agrega solo uno, a veces ninguno y a veces los dos pero no es consistente en su funcionamiento.
La función que estoy utilizando para agregar el producto al carrito es esta:
function agregarProductoAlCarrito(variant_id){
let data = {
'items':[{
'id': variant_id,
'quantity': 1
}]
};
fetch('/cart/add.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => {
return response.json();
})
.catch((error) => {
console.error('Error:', error);
});
}
Para eliminar el producto (en caso de que ya esté en el carrito):
function eliminarProductoDelCarrito(variant_id){
let data = {
'items':[{
'id': variant_id,
'quantity': 0
}]
};
fetch('/cart/change.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => {
return response.json();
})
.catch((error) => {
console.error('Error:', error);
});
}
Luego, en el onclick del botón de checkout hago lo siguiente:
$(".custom-btn-checkout").click( function(e){
e.preventDefault();
if(radio1Si.checked){
agregarProductoAlCarrito({{ variant1_id }});
}
if(radio1No.checked){
eliminarProductoDelCarrito({{ variant1_id }});
}
if(radio2Si.checked){
agregarProductoAlCarrito({{variant2_id }});
}
if(radio2No.checked){
eliminarProductoDelCarrito({{ variant2_id }});
}
$(this).submit();
}
});
Alguien podría darme una idea de que puede estar pasando? Quizás sea algo referido al tiempo de la ejecución de las funciones de agregar y eliminar. Probé agregandoles setTimeout pero no termina de funcionar al 100%.
Agradecería mucho si alguien puede brindarme alguna ayuda.
Muchas gracias!
¡Resuelto! Ir a solución.
Éxito.
Hola @ghuerta,
Gracias por tu pregunta y por detallar los códigos que estás intentando usar en tu tienda.
Para preguntas como estas, recomiendo que te diriges al subforo en nuestro foro en inglés para los desarrolladores que se llama 'Shopify APIs and SDKs'.
Muchos de los participantes son desarrolladores asociados (Partners) de Shopify, conocen bien la plataforma e intentan responder a todas las inquietudes puestas en ese subforo. Es posible que recibes una respuesta detallada para solucionar tu problema allá.
Un otro consejo sería participar en el grupo de Discord para los desarrolladores de Shopify aquí y subir tu pregunta allá también.
Saludos,
Javier | Shopify
- ¿Te resultó útil mi respuesta? Dale Me gusta para hacérmelo saber
- ¿Resolvimos tu pregunta? Dale a Aceptar como solución
- Para saber más visita el Centro de ayuda de Shopify o nuestro Blog de Shopify
Éxito.
Hola @ghuerta,
Gracias por tu pregunta y por detallar los códigos que estás intentando usar en tu tienda.
Para preguntas como estas, recomiendo que te diriges al subforo en nuestro foro en inglés para los desarrolladores que se llama 'Shopify APIs and SDKs'.
Muchos de los participantes son desarrolladores asociados (Partners) de Shopify, conocen bien la plataforma e intentan responder a todas las inquietudes puestas en ese subforo. Es posible que recibes una respuesta detallada para solucionar tu problema allá.
Un otro consejo sería participar en el grupo de Discord para los desarrolladores de Shopify aquí y subir tu pregunta allá también.
Saludos,
Javier | Shopify
- ¿Te resultó útil mi respuesta? Dale Me gusta para hacérmelo saber
- ¿Resolvimos tu pregunta? Dale a Aceptar como solución
- Para saber más visita el Centro de ayuda de Shopify o nuestro Blog de Shopify
Muchas gracias por la información, Javier!
Me estaré pasando por esos lados entonces.
Saludos!
¿Alguna vez has creado una colección y has tenido problemas para añadir tus productos a...
By Ann Sep 10, 2024Una de las cosas que más presión genera a la hora de emprender con un negocio es conver...
By Teo Aug 20, 2024¿Alguna vez has visitado una página web lenta con imágenes pixeladas? ¿Qué haces cuando...
By Ann Aug 13, 2024