(1) カート

ルーティング ec_client_cart_list
引数 無し
{{ path(“ec_client_cart_list”)}}

 

カート一覧のテンプレートです。

 

Ⅰ エラー

 

カートでは3つの形式に別れてエラーが出力されます。

 

error_msg 在庫切れなどでカートに入れられなかった商品名の一覧
paymentErrorMsg 同時に購入できない商品の組合せの場合のエラーメッセージ
changeErrMsg 数量変更時に不備があった場合のエラーメッセージ

 

error_msgは例えば

のように使用します。

 

paymentErrorMsg、changeErrMsgは例えば、

のように使用します。

 

Ⅱ カートの中身

カートの中身は上述のcart_api 「1. はじめに / (1) 共通タグ / Ⅳ セッション / ア cart_api」を使います。

例として、商品情報は以下のようにして取得できます。

 

 

カートの中身の情報を扱う際は、get_entity_manager()を使用して常に最新情報を取得し、在庫切れなどのトラブルを防いでください。

 

Ⅲ カートの中身を変更する

カート情報を変更するためのページは、以下になります。

 

ルーティング ec_client_cart_change
引数 無し
{{ path(“ec_client_cart_change”) }}

 

送信するデータは以下の1つだけです。

 

キー名 説明 必須
quantity[SKUID] 数量 1以上の数値でない場合は無視

 

具体的には以下のように、カートの一覧を取得しながら変更用のテキストボックスを表示していきます。

 

 

以下はオプション商品の数量変更の方法です。

cart_object.getAdditionsでオプション商品があるかを確認

get_entity_manager()で最新のオプション商品情報を取得

という処理をしています。

 

 

送信するデータは以下の1つだけですが、どのオプション商品がどの商品に紐付いたものなのかを判断するために、

SKUIDとオプション商品のIDを組み合わせたキーを使います。

 

キー名 説明 必須
addition_quantity[SKUID_オプション商品ID] 数量 1以上の数値でない場合は無視

 

 

Ⅳ カート内商品の削除

 

以下はカート内商品の削除方法です。

 

ルーティング ec_client_cart_delete
引数 SKUID
{{ path(“ec_client_cart_delete”, {“sku”:1}) }}

 

具体的には以下のように、カート一覧を取得しながら削除用リンクを表示していきます。

 

 

以下はカート内オプション商品の削除方法です。

 

ルーティング {{ path(“ec_client_cart_delete_addition”, {“sku”:productsku.id, “addition”:1}) }}
引数 SKUID, オプション商品ID
{{ path(“ec_client_cart_delete_addition”, {“sku”:1, “addition”:1}) }}

 

どの商品に紐付いたオプション商品を削除するかを判断するため、

SKUIDとオプション商品のIDを組み合わせたキーを使います。

 

 

関連記事

メルマガ登録
セミナーやキャンペーン情報など、不定期で配信しています