Tengo un jquery que coge los datos de un formulario en el que aparecen las variedades de sabor de un producto.
Imaginaos
Fanta -> añadir al carrito. Al darle al boton se abre un dialog con el formulario para que agregues la cantidad de cada variedad. el código es este.
Código
('.get_flavors_cart').click(function(){ product = $(this).attr('rel'); $('.dialog').dialog("open"); $.get('http://distribucion.nutrifrog.com/products/box_flavors_helper/'+product, function(data){ $('.dialog').html(data); $('.add_items').click(function(){ //alert('Pulsaste en añadir carrito'); var flavorValues = new Array(); $('input[type="number"]').each(function(){ index = $(this).attr("rel"); value = $(this).val(); flavorValues[index] = value; }); data_flavors = JSON.stringify(flavorValues); $.post('http://distribucion.nutrifrog.com/products/add_cart_item',{id:product, cart_items:data_flavors}, function(data){ $('.dialog').html(data); }); }); });
En PHP trabajo con el framework Codeigniter y recogo los datos JSON y hago un foreach para agregar al carrito cada item.
Código
public function add_cart_item(){ $id = $this->input->post('id'); $msg = ''; $format= $this->products_model->format_name($this->products_model->get_product_property($id, 'id_format')); $price = $this->products_model->get_product_property($id, 'pvd'); $weight = $this->products_model->get_product_property($id, 'weight'); $img = $this->products_model->get_product_property($id, 'img_path'); $name = $this->products_model->get_product_property($id, 'name'); $quantity = $this->products_model->get_product_property($id, 'quantity'); foreach($values as $flavor => $cantidad){ 'qty' => $cantidad, 'price' => $price, 'name' => $name, 'product_id' => $id, 'img' => $img, 'format' => $format, 'weight' => $weight, 'quantity' => $quantity, 'flavor' => $flavor ); if($this->cart->insert($cart_data)){ $msg .="Insertadas $quantity_fl unidades de sabor $flavor<br />"; } else { echo "Error: no se ha insertado el sabor $flavor"; } } } }
Si el producto solo tiene una variedad no hay problema pero cuándo hay varios sabores, no carga en el carrito nada. Ya le he dado 10000 vueltas, pero no hay manera.
¿Alguna idea?
Gracias de antemano.