【发布时间】:2015-02-21 06:01:34
【问题描述】:
我对 Codeigniter 购物车有疑问。我已经创建了代码并检查了它,但每次我添加相同的产品时,它只会更新产品的所有信息,但不会添加新的信息。例如,两件完全相同的衬衫,但尺寸或颜色不同。我在这里搜索了一个解决方案,但还没有想出一个。
我的控制器代码
public function addToCart() {
$data = $this->input->post();
$id = $data['id'];
$qty = $data['qty'];
$color = $data['color'];
$cart = $this->cart->contents();
$exists = false;
$rowid = '';
foreach($cart as $item):
if($item['id'] == $id && $item['color'] == $color):
$exists = true;
$rowid = $item['rowid'];
$qty = $item['qty'] + $qty;
else:
// if statement does not equal
endif;
endforeach;
if($exists):
$this->product_model->update_cart_item($rowid, $qty);
redirect('dashboard');
else:
$this->product_model->add_cart_item();
redirect('dashboard');
endif;
}
我的型号代码
public function update_cart_item($rowid, $qty){
$data = array(
'rowid' => $rowid,
'qty' => $qty
);
$this->cart->update($data);
}
public function add_cart_item(){
$id = $this->input->post('id');
$name = $this->input->post('name');
$qty = $this->input->post('qty');
$price = $this->input->post('price');
$color = $this->input->post('color');
$photo = $this->input->post('photo');
$type = $this->input->post('type');
$data = array(
'id' => $id,
'qty' => $qty,
'price' => $price,
'name' => $name,
'color' => $color,
'photo' => $photo,
'type' => $type
);
$this->cart->insert($data);
}
现有产品的更新部分工作正常。例如,没有相同产品但颜色不同的部分。
【问题讨论】:
标签: php codeigniter shopping-cart