EC-CUBE3でカートに入った商品のIDを取得する
カートに入った商品別に何かしらのメッセージを出す。または割引する。色んな部分で今カートに入っている商品情報をデータとして取得したい場面は多い。
IDから商品情報を取得するので、カート内に存在する商品IDを取り出す為にはどうするか。
//変数自体は何でも良いが$cartは使われてる可能性があるのでなるべくユニークな名前にする
$cart_data = $app['eccube.service.cart']->getCart();
foreach($cart_data->getCartItems() as $CartItem) {
$ProductClass = $CartItem->getObject();
$arr_cart_item_id[] = $ProductClass->getId();
}
特にアレコレと説明する事ではないが、ShoppingController.phpの場合はカート内に商品が存在するか。と言う既存の判定後に入れる。
$arr_cart_item_idに入ったidを基にdtb_productのidと照会して処理を入れれば良い。