EC-CUBEのカスタマイズでよく使うコードなのでメモ。

カート内の商品データを取得したい場合、次のコードで取得することができる。

$cartData = $app['eccube.service.cart']->getCart(); 

foreach($cartData->getCartItems() as $cartItem) { 
    $productClass = $cartItem->getObject(); 
    $arrCartItem[] = array( 
        'code' => $productClass->getCode(), 
        'price' => $productClass->getPrice02(), 
        'quantity' => $cartItem['quantity'], 
    ); 
}

まず、getCartメソッドでカート情報を取得する。

その後、取得したデータをforeach文で回す。

ここでは例として、各商品の商品コード、価格、数量を取得しているが、商品情報は全て取得できるので欲しい情報に合わせてforeach文内を適宜変更すると良い。