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


Codeigniter Shopping Cart: Adding the Same Product Again

我第一次试用CodeIgniter的购物车库。我已经设置好了所有的会话,当我把一个项目添加到购物车时,它会出现在$this->cart->contents()中;到目前为止还不错。添加内容如下:

$data = array( 'id'      => 1,
               'qty'     => 1,
               'price'   => 20,
               'name'    => "Item1");
$rowid = $this->cart->insert($data);

但当我再次尝试添加相同的商品时,它不会增加购物车中该商品的数量。我曾设想执行相同的插入会再添加一行,将该行的数量增加到2,但事实并非如此。

如果我添加不同的产品,它会出现在第一个产品旁边。但是,再次尝试添加另一种该产品并没有增加计数。

我肯定错过了什么。也许你知道它是什么。

非常感谢!

我相信,仅仅将其中两个项目相加并不能得到新的数量。

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

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

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

希望能有所帮助!

我不久前在我的应用程序中需要这样的东西,所以我编辑了一些CI cart函数。看看这根线。

Codeigniter购物车

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