Los botones de cantidad +/- del tema no cambian la oferta seleccionada
Si los botones de cantidad de tu tema no cambian la oferta seleccionada, comprueba primero qué control de cantidad utiliza tu descuento. Que una cantidad introducida manualmente se reduzca a un nivel es diferente de que un botón nunca envíe una actualización al widget.
Introduje 8, pero el carrito recibió 6
En la configuración habitual sin el selector de cantidad propio de Bundlex, el campo del tema navega entre los niveles configurados. Una cantidad exacta de un nivel puede seleccionar esa tarjeta, mientras que una cantidad intermedia puede dejar seleccionada la oferta actual. Al añadir al carrito se utiliza la cantidad de esa oferta. Introducir 8 con Comprar 6 seleccionado no garantiza que se añadan 8 artículos.
Para permitir que los compradores elijan cantidades flexibles, activa Selector de cantidad en la pestaña Complementos del descuento, cuando esté disponible. Funciona junto con las suscripciones. Si está desactivado, el panel de control indica qué configuración lo bloquea. Consulta configuraciones con las que no se puede combinar.
Cuando el selector de Bundlex está activo, el campo del tema refleja su resultado en lugar de controlar una segunda cantidad. Algunas tiendas tienen una configuración independiente de cantidad nativa activada por el equipo de soporte para niveles simples, pero no es la opción predeterminada. Consulta comportamiento de la cantidad del tema.
Si la selección opcional de ofertas está activada y no hay ninguna oferta seleccionada, los controles del tema funcionan con normalidad y no navegan por las tarjetas de ofertas. Las comprobaciones siguientes se refieren a una oferta activa en la configuración de navegación por niveles.
Cómo debería funcionar la sincronización
Hay dos direcciones que debes tener en cuenta:
- De la oferta a la cantidad: cuando un comprador hace clic en una oferta, por ejemplo, Comprar 1, Comprar 2 o Comprar 3, el widget establece en el campo de cantidad del tema la cantidad de esa oferta. Esto depende de que Bundlex encuentre el campo de cantidad correcto.
- De la cantidad a la oferta: cuando un comprador cambia la cantidad con los botones +/- del tema o escribiéndola, el widget debería detectar el nuevo valor y seleccionar la oferta cuya cantidad coincida exactamente.
La segunda dirección puede fallar cuando el tema cambia el campo sin enviar un evento o cuando el widget está observando otro campo de cantidad. Un número que no coincide con ningún nivel, por sí solo, no demuestra que haya un problema con los eventos ni garantiza que se anule la selección de la oferta.
Por qué los botones +/- no actualizan la oferta
El widget escucha los eventos nativos change y input en el campo de cantidad. Escribir normalmente activa estos eventos, pero es posible que el botón +/- personalizado de un tema no lo haga.
Sin embargo, muchos temas implementan sus botones +/- estableciendo directamente el valor del campo mediante JavaScript, por ejemplo, input.value = newValue. Asignar un valor de esta forma no activa los eventos change ni input. El número cambia en pantalla, pero no se envía ningún evento, por lo que el widget nunca sabe que la cantidad ha cambiado y la oferta seleccionada permanece igual.
Esto no es específico de ningún framework. Cualquier asignación programática de un valor omite los eventos. Solo la interacción real del usuario, como escribir, los activa. Los temas basados en el elemento personalizado
<quantity-input>de Shopify, utilizado por Dawn, envían un eventochangedespués de actualizar el valor. Por eso esos temas funcionan sin configuración adicional.
Cómo confirmar que esta es la causa
- Abre las herramientas de desarrollo del navegador, con F12 o Cmd+Option+I en Mac, y ve a la pestaña Consola.
- Haz clic en un botón +/- en la página del producto.
- Prueba una cantidad que coincida exactamente con una oferta disponible. Si el número cambia, pero la oferta seleccionada no, pide al desarrollador de tu tema que compruebe si el botón envía un evento change o input en el campo de cantidad que Bundlex está observando.
Los temas que suelen presentar este problema usan botones +/- personalizados que establecen el valor directamente, en lugar del componente web <quantity-input> de Shopify.
La solución: enviar un evento de cambio
Esta solución se aplica en el tema, por lo que quien mantenga el código de tu tema puede implementarla rápidamente. Pide al desarrollador de tu tema que envíe un evento change justo después de que el controlador +/- establezca el nuevo valor de cantidad:
input.dispatchEvent(new Event('change', { bubbles: true }));
Aquí, input es el elemento de entrada de cantidad que se está actualizando. Esto notifica a los scripts que escuchan ese evento, incluido Bundlex. Prueba los botones de cantidad y el carrito del tema después del cambio.
El caso de la entrada de cantidad duplicada, barras de carrito fijas
Algunos temas añaden una barra fija o adhesiva de "Añadir al carrito" que duplica el formulario del producto, incluida una segunda entrada de cantidad. Ambas entradas suelen compartir el mismo name="quantity" y, en ocasiones, incluso el mismo id. El selector predeterminado de Bundlex, input[name="quantity"], puede asociarse entonces con la entrada incorrecta, por lo que la oferta y la cantidad del formulario principal nunca coinciden.
Cómo confirmar que hay duplicados
- Abre las herramientas para desarrolladores y ve a la pestaña Consola.
- Ejecuta:
document.querySelectorAll('input[name="quantity"]').length - Si el resultado es mayor que 1, tu página tiene más de una entrada de cantidad.
La solución: un selector de entrada de cantidad personalizado
Indica a Bundlex que use únicamente la entrada de cantidad del formulario principal, excluyendo la barra fija. Contacta con soporte e incluye la URL del producto para obtener una solución con un selector nuevo; soporte puede configurarlo en los ajustes del widget de la tienda. Si necesitas inspeccionar un selector antiguo que ya esté guardado en la inserción de la aplicación, se encuentra aquí:
- En el panel de administración de Shopify, abre el Editor de temas.
- Ve a Inserciones de aplicaciones y busca Bundlex Bundles.
- Activa Mostrar ajustes avanzados y establece el Selector de entrada de cantidad en un selector que apunte únicamente a la entrada de cantidad del formulario principal.
El selector exacto depende de tu tema. Dos ejemplos que funcionan en algunos temas:
.product-form__item--submit input[name="quantity"]
form.shopify-product-form:not(#addtocart-sticky form) input[name="quantity"]
Si ninguno de los selectores funciona con tu tema, comparte con soporte la URL de la página del producto para identificar el selector correcto. Si soporte configuró anteriormente una sustitución, esta puede tener prioridad sobre el campo del tema.
Cuándo contactar con soporte
Si confirmaste que los botones +/- cambian el valor sin activar un evento, o que hay entradas de cantidad duplicadas, y las soluciones anteriores no resuelven el problema, contacta con soporte e incluye la URL de la página del producto. También ayuda incluir cualquier mensaje de [Bundlex] de la consola del navegador y el HTML del formulario del producto.
¿Te resultó útil este artículo?
Tus comentarios nos ayudan a mejorar nuestra documentación.