dポイントプレゼントキャンペーン実施中!

codeigniterでcartのoptionsをupdateしたいのですが、
どこのファイルを編集すれば良いのでしょうか?
それともoptionsをupdateすること自体が出来ないのか?

現在、ユーザーの入力で変更するようにしているのですが、
今の所、数の編集は出来るのですが、
optionsの値が変更されていません。

サイトもいろいろ見ているのですが、
それに関する記述が見当たらないので、
質問させていただきました。

A 回答 (1件)

CI_Cartクラスの「update()」メソッドは、商品の数量を変更する機能です。



CI_Cartクラスでは、同じ商品IDでもオプションが異なる物は別商品として扱います。
具体的には、CI_Cartクラス内部で各商品を「rowid」で管理していて、
この「rowid」は、商品ID「id」とオプション情報「options」の組み合わせから生成されます。

そのため、異なるオプションでも同一商品扱いとしてしまっては
同一の商品IDで異なるオプションの商品をカートに追加できなくなってしまいます。

例えば、同一の商品IDであるTシャツに赤と青のカラーがある場合で、
赤をやめて青に変更するには、赤Tシャツをカートから取り除き(数量を0にして)
青Tシャツを追加します。

もし、どうしても異なるオプションでも同一商品として扱いたいのであれば
CI_Cartライブラリを拡張して、商品情報パラメータに「extopts」などといったパラメータを
追加し、「_update()」メソッドを数量の他に「extopts」も更新されるようオーバーライドする方法もあります。

こちらに、CI_Cartクラスの説明があります。
http://www.ci-guide.info/practical/library/cart/

ライブラリの拡張はこちら
http://www.ci-guide.info/extension/system/

参考URL:http://www.ci-guide.info/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!