2017-05-09 64 views
3

我正在使用購物車圖書館在CI中建立比薩店應用程序。 對於某些產品(比薩,沙拉......),可以添加配料。 這是我有:Codeigniter購物車 - 在披薩上添加番茄醬

Add_to _cart布頓

<button class="but_add_cart" 
     data-qty="1" 
     data-productid="<?php echo $food_item->item_id; ?>" 
     data-productname="<?php echo $food_item->item_name; ?>" 
     data-productprice="<?php echo $food_item->item_price; ?>" 
     data-adds="<?php echo $food_item->item_price; ?> 

與jQuery我打電話AJAX

$('.but_add_cart').click(function(){ 

     allVals = [] 

     $('#chk :checked').each(function() { 
      allVals.push($(this).val()); 
     }); 
     // here I'm getting all ingredients from checkboxes and push to array 

     var product_id = $(this).data("productid"); 
     var description = $(this).data("description"); 
     var product_name = $(this).data("productname"); 
     var product_price = $(this).data("productprice"); 
     var product_qty = $(this).data("qty"); 


     if(product_id != '' && product_id > 0) 
      { 
       $.ajax({ 
       url:"<?php echo base_url(); ?>menu/add", 
       type:"POST", 
       async: true, 
       data:{product_id:product_id, description:description, product_name:product_name, product_qty:product_qty, product_price:product_price, allVals:allVals}, 
       success:function(data) 
        { 
         $('#cart_details').html(data); 

        } 
       }); 

      } 
     else 
      { 
       alert("Please Enter quantity"); 
      } 
}); 

,並添加功能是:

function add() 
    { 
     $data = array(
      "id" => $_POST["product_id"], 
      "qty" => $_POST["product_qty"], 
      "price" => $_POST["product_price"], 
      "name" => $_POST["product_name"], 
      "description" => $_POST["description"], 
      "allVals" => $_POST["allVals"] 
     ); 

      print_r($data); 

      //$this->cart->insert($data); 
      //echo $this->view(); 

    } 

從print_r的我有這個陣列

Array 
(
    [id] => 1 
    [qty] => 1 
    [price] => 19.90 
    [name] => Pepperoni Pizza 
    [description] => Extra-virgin olive oil, garlic, mozzarella cheese 
    [allVals] => Array 
     (
      [0] => 2 
      [1] => 3 
      [2] => 4 
      [3] => 6 
     ) 
) 

現在,在購物車中,我想將配料(2,3,4,6)的辣香腸披薩作爲一個項目。如果我再添加一個意大利辣香腸披薩,但使用不同配料,則應該是購物車中的單獨物品。我試圖給rowid添加一些隨機數,但它給了我一些錯誤。

此外,每個成分海岸,所以我必須將這些價格添加到籃子中的每個項目的小計價格。

我知道問題很複雜,但我想知道我的方法是好還是有更好的方法來做到這一點?

+1

作爲一個意大利人,我真的不知道番茄醬怎麼可以吃披薩XD –

+0

這是在巴西,我認爲我們是唯一把番茄醬放在披薩上的人...... –

+0

Hehehe,相信與否,人們把番茄醬放在披薩上,包括我:)而且我在塞爾維亞的意大利對面 – Pecooou

回答

0

在這裏的答案是不使用成分作爲關鍵?

asort($_POST['allVals']); 
$key = implode('',$_POST['allVals']); 

合併產品ID和$ key,看看該產品是否存在於購物車中。如果它確實更新了數量。你的配料是你獨特的鑰匙?

相關問題