1

Codeigniter カート クラスの製品オプションに価格値を追加することは可能ですか。例: T シャツの価格は $10.00 ですが、XXL サイズはさらに $2.00 です。

$data = array(
           'id'      => 'abc',
           'qty'     => 1,
           'price'   => 10.00,
           'name'    => 'T-Shirt',
           'options' => array('Size' => 'XXL') // Where would you add $2.00 for XXL?
        );

$this->cart->insert($data);
4

3 に答える 3

1

カートクラスを見ると、あなたが求めていることを行う唯一の方法は、CodeIgniterのカートクラスに渡される価格にオプション価格を組み込むことであるように見えます。したがって、$ data ['price']を12.00(10.00 + XXLの場合は2.00)に設定して、例で指定した配列を渡します。

CIのカートクラスについての私の理解は、ショッピングカートの基本的なセッション処理情報を提供するためだけにあるということです。独自の価格設定の製品オプションのようなものは、独自のコードでその上に構築する必要があります。

于 2010-03-08T23:51:59.303 に答える
0

そうです、製品をオプション価格と「マージ」し、合計の新しい価格でパッケージをカートに入れる必要があります。カートの合計などのCIの事前構築済み機能を使用できるようにしたい場合、おそらくこれが私が思いつく唯一の方法です。

于 2010-03-09T10:05:33.560 に答える
0

これが、CI の元のシステムとは別に、独自のカートと注文管理システムを構築した理由の 1 つです。

より良い方法は、CIのカートクラスを拡張または再構築して、dbの結果から製品とオプションを直接注入することです。このようにして、価格がどのように計算されたかをいつでも追跡できます。ericofsac の回答から、価格が 10 ではなく 12 になっている理由と、販売時にオプションに請求された金額です。

また、カート データから注文への記録インターフェイスの実装を容易にすることもできますが、それは別のポイントです。

于 2010-03-09T10:31:55.570 に答える