codeigniter
CodeIgniterショッピングカート
サーチ…
前書き
電子商取引サイトを構築する際には、CIのショッピングカートライブラリを利用することができます。カートに追加、カートのアイテムを更新、カートのアイテムを削除したり、このライブラリを使用してカートの機能をクリアすることもできます。
CodeIgniter Doc:Cartクラスでは、ユーザーがあなたのサイトをブラウズしている間、アクティブになっているセッションにアイテムを追加することができます。これらのアイテムは、標準的な「ショッピングカート」フォーマットで検索して表示することができ、ユーザーはカートの数量を更新したり、カートからアイテムを削除することができます。
カートにアイテムを追加する
あなたは、挿入、更新、削除、クリアカートなどのようなコントローラで関数を作成する必要があります。例えば:カートに新しい項目を挿入する場合は、値を受け入れるコードを書いてください。
$cartItem = array(
'id' => 'MOTOG5',
'qty' => 5,
'price' => 100.99,
'name' => 'Motorola Moto G5 - 16 GB',
'options' => array(
'ram' => '3GB',
'Color' => 'Fine Gold'
)
);
挿入、更新、削除、クリアなどのカートタスク用のモデルで関数を作成します。
例:カートに商品を挿入する場合
$this->cart->insert($cartItem);
insert()メソッドは、単一の項目を挿入すると$ rowidを返します。そのアイテムが挿入されているかどうかをチェックして、関連するメッセージをユーザーに表示することができます。
このように複数のアイテムを挿入することができます
$data = array(
array(
'id' => 'sku_123ABC',
'qty' => 1,
'price' => 39.95,
'name' => 'T-Shirt',
'options' => array('Size' => 'L', 'Color' => 'Red')
),
array(
'id' => 'sku_567ZYX',
'qty' => 1,
'price' => 9.95,
'name' => 'Coffee Mug'
),
array(
'id' => 'sku_965QRS',
'qty' => 1,
'price' => 29.95,
'name' => 'Shot Glass'
)
);
$this->cart->insert($data);
CIショッピングカートの基本要素
Cart配列に複数の要素を追加してカートセッションに追加することができますが、Cartクラスがカートセッションでデータを正常に追加するために必要な4つの基本要素があります。
- id(文字列)
- 数量(数)
- 価格(数値、小数)
- name(String)
また、製品に関するオプションを追加したい場合は、「オプション」である5番目の要素を使用できます。この要素にオプションの配列を設定できます。
それは次のようになります:
$cartItem = array(
'id' => 'MOTOG5',
'qty' => 5,
'price' => 100.99,
'name' => 'Motorola Moto G5 - 16 GB',
'options' => array(
'ram' => '3GB',
'Color' => 'Fine Gold'
)
);
カートアイテムを表示する
カートアイテムをループスルーカートで表示することも、カートから単一のアイテムを表示することもできます。
$cartContents = $this->cart->contents();
これにより、カートアイテムの配列が返され、foreachループを使用してこの配列をループすることができます。
foreach ($cartContents as $items){
echo "ID : ". $items["id"] . "<br>";
echo "Name : ". $items["name"] . "<br>";
echo "Quantity : ". $items["qty"] . "<br>";
echo "Price : ". $items["price"] . "<br>";
}
このデータを表のセルまたは一部のdivとしてフォーマットして表示することができます。
カートの商品を更新する
行ID:行IDは、アイテムがカートに追加されたときにカートコードによって生成される固有の識別子です。一意のIDが作成される理由は、異なるオプションを持つ同一の製品をカートで管理できるようにするためです。
カート内のすべての項目にはROWID要素があり、ROWIDにはカート項目を更新できます。
$updateItem = array(
'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
'qty' => 3
);
コードの下に
$this->cart->update($data);
カートアイテムを削除する
rowid要素を使用すると、カートから項目を削除できます。商品の数量を0に設定するだけです
$deleteItem = array(
'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
'qty' => 0
);
$this->cart->update($data);
このROWIDを持つアイテムは削除されます。