Я использую CI 2.1.3 для проекта моей корзины покупок. Так работает программа «add-to-cart»: вызовите функцию add_to_cart, чтобы вставить элемент в корзину, а затем перенаправить на страницу view_cart. Но тележка не была обновлена немедленно. Он обновляется только при перезагрузке страницы. Зачем?Корзина с кодовым названием обновляется после обновления страницы
public function add_to_cart($product_id){
if (isset($product_id)){
$product = $this->_product_model->get_record_by_id((int)$product_id);
if (!is_null($product)){
if (count($this->cart->contents())>0){
foreach ($this->cart->contents() as $item){
if ($item['id']==$product->id){
$data = array('rowid'=>$item['rowid'],'qty'=>++$item['qty']);
$this->cart->update($data);
}else{
$data = array('id'=>$product->id,'qty'=>1,'price'=>$product->price,'name'=>$product->id,'options'=>array('image'=>$product->thumb,'product_name'=>$product->title));
$this->cart->insert($data);
}
}
}else{
$data = array('id'=>$product->id,'qty'=>1,'price'=>$product->price,'name'=>$product->id,'options'=>array('image'=>$product->thumb,'product_name'=>$product->title));
$this->cart->insert($data);
}
//$this->layout->load('cart/view_cart', $this->data);
redirect(base_url('view_cart.html'),'location');
}
}else{
$this->layout->load('/product/product_not_found', $this->data);
}
}
Таким образом, вы добавить элемент в корзину, направляются на странице корзины, но элемент не в вашей корзине. Вы обновляете страницу, и она находится в корзине? – Jeemusu
@Jeemusu: Точно. –