Please specify product option(s) al añadir bundle desde el listado de productos en Magento

Ya estoy terminando mi primera tienda online propia. En ella, para controlar el stock, tengo una serie de packs compuestos por bundles con simples relacionados. Al hacer pruebas de inclusión de los productos en el carrito desde el listado de productos me encuentro con el siguiente problema en Magento v 1.7.0.0.

Tengo una categoría en la que todos los productos son paquetes de productos (bundle), los productos asociados a estos son simples, introducidos como diferentes opciones checkbox en una opción del paquete de artículos, marcados por defecto y la opción configurada como Se requiere = NO. Algo así:

El problema viene al intentar añadir el producto al carrito desde el listado. Al darle al botón, en vez de añadirlo al carrito el sistema te lleva directamente a la ficha de producto mostrando el siguiente error:

Please specify product option(s)

y te deja en la ficha de producto con ese mensaje. Lo bueno es que desde la propia ficha de producto y sin tocar nada, le damos al botón de añadir el producto al carrito y funciona perfectamente.

Lo que yo quiero es, ya que las opciones no son obligatorias que vaya directamente al carrito sin pasar por la ficha de producto. Para ello he hecho un pequeño cambio en el botón del listado de productos.

En el template del listado, archivo /app/design/frontend/default/nombre-de-tema/template/catalog/product/list.phtml haremos el siguiente cambio (no especifico línea porque según qué plantilla estéis utilizando será una u otra):

Donde pone:

ponemos esto otro:

Con esto lo que hacemos es utilizar un formulario para productos tipo bundle y para el resto de productos (simples, configurables, etc..) el botón que viene por defecto. Lo que hacemos en el caso de que el tipo de producto sea bundle es hacer un bucle por todas las opciones y ponerlas como ocultas en un formulario, con otro campo oculto para poner la cantidad por defecto de cada opción simple. A la vez controlamos el stock de cada una de las opciones y si no hay stock de alguna de ellas no  El botón enviará ese nuevo formulario sin tener que pasar por la ficha de producto.

Código sacado de aquí, pero me costó encontrarlo un montón así que por eso esta entrada: http://stackoverflow.com/questions/5911738/add-bundle-product-to-cart-without-having-to-specify-the-options/13663949#13663949

Off Topic: Con esta entrada vuelvo a retomar mi blog. A ver si publico un sinfín de entradas relacionadas con Magento que he ido acumulando durante más de un año trabajando en Kuombo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *