Codeigniter购物车:再次添加同一产品

时间:2012-09-01 22:24:04

标签: php codeigniter shopping-cart

我第一次尝试使用CodeIgniter的购物车库。我已经设置了所有会话,当我将项目添加到购物车时,它显示在$ this-> cart-> contents();到现在为止还挺好。添加内容如下所示:

$data = array( 'id'      => 1,
               'qty'     => 1,
               'price'   => 20,
               'name'    => "Item1");

$rowid = $this->cart->insert($data);

但是当我尝试再次添加相同的项目时,它并没有增加购物车中该项目的数量。我想,执行相同的插入会增加一个,将该行的数量增加到2,但它不会。

如果我添加其他产品,它会与第一个产品一起显示。但同样,尝试添加另一种产品无法增加计数。

我当然错过了一些东西。也许你知道它是什么。

非常感谢!

2 个答案:

答案 0 :(得分:4)

我认为只添加两个项目就不会将它们加在一起以获得新的数量。

您实际上可以使用新数量[qty]值更新购物车。请参阅本页“更新购物车”部分:http://codeigniter.com/user_guide/libraries/cart.html

注意:您可能需要执行以下操作:

  1. 使用$this->cart->product_options($rowid);获取产品详细信息,或循环浏览所有项目,并使用$this->cart->contents();找到正确的项目
  2. 从该数组中获取数量
  3. 将数量增加一个
  4. 使用新的数量值
  5. 更新$rowid

    希望有所帮助!

答案 1 :(得分:1)

我刚才在我的应用程序中需要这样的东西,所以我编辑了一些CI购物车功能。看一下这个帖子。

Codeigniter Shopping Cart

我希望您可以使用它中的一些代码,至少它会指向正确的方向。