カートを使用したシンプルな Web アプリの作成に成功しました。
今、私はいくつかの特別オファーを実装する必要があります.
例 1: 顧客がある製品を 2 つ追加した場合 - 2 つ目の製品は 30% 安くなるはずです。
例 2: 顧客が product_1 と product_2 を追加した場合、製品 3 を無料で追加する必要があります。
ビジネスロジック自体の実装は問題ありません。
問題は、Codeigniter Cart に製品の詳細情報がないことです。
項目オブジェクト/配列には、、、、、id
およびname
フィールドがありqty
ます。price
subtotal
options
カートの変更ごとにデータベースにクエリを実行せずに価格を再計算するには、その製品に適用される特別オファーを示すグループ/カテゴリなどの追加フィールドが必要です。
さらに、顧客がカートから製品を削除すると、そこに古い価格を設定する必要があるため、基本価格をどこかに保存する必要があります。
その追加情報をどこに置くべきですか?
options
フィールドはすでに使用されています...
カートの更新ごとにデータベースにクエリを実行したくありません (Web アプリケーションを非常に高速にし、サーバーの負荷を最小限に抑えたい)。
rowid
カート項目の価格を変更すると、これらの問題が発生する可能性がありますか?
id
カートの一意の「rowid」はアイテムとoptions
配列のmd5チェックサムであるため、これについて質問しています。私のアプリケーションでは、同じ製品に同じオプションの異なる価格を使用します (たとえば、1 個の通常価格、別の 70% 価格)。