4

CodeIgniter のショッピング カート ライブラリを初めて試しています。すべてのセッションのセットアップが完了し、アイテムをカートに追加しようとすると、$this->cart->contents(); に表示されます。ここまでは順調ですね。追加は次のようになります。

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

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

しかし、同じ商品をもう一度追加しようとしても、カート内のその商品の数量が増えません。同じ挿入を実行するともう 1 つ追加され、その行の数が 2 に増えると想像しましたが、そうではありません。

別の商品を追加すると、最初の商品と一緒に表示されます。しかし、繰り返しますが、その製品をもう 1 つ追加しようとしても、カウントを増やすことができません。

私は確かに何かが欠けています。おそらくあなたはそれが何であるかを知っています。

どうもありがとう!

4

2 に答える 2

4

アイテムを2つ追加するだけでは、それらを合計して新しい数量を取得することはできないと思います。

カートを実際に新しい数量[qty]値で更新できます。このページの「カートの更新」セクションを参照してください:http://codeigniter.com/user_guide/libraries/cart.html

注:おそらく次のことを行う必要があります。

  1. $this->cart->product_options($rowid);すべてのアイテムを使用して、またはループして正しいアイテムを見つけることにより、製品の詳細を取得します。$this->cart->contents();
  2. その配列から数量を取得します
  3. 数量を1つ増やします
  4. $rowid新しい数量値でそれを更新する

お役に立てば幸いです。

于 2012-09-01T22:35:39.583 に答える
1

少し前に自分のアプリでそのようなものが必要だったので、いくつかの CI カート関数を編集しました。このスレッドを見てください。

Codeigniter ショッピングカート

そこからのコードの一部を使用できることを願っています。少なくとも、正しい方向に向けることができます。

于 2012-09-01T23:31:05.187 に答える