src/Eccube/Controller/Block/CartController.php line 39

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.ec-cube.co.jp/
  8.  *
  9.  * For the full copyright and license information, please view the LICENSE
  10.  * file that was distributed with this source code.
  11.  */
  12. namespace Eccube\Controller\Block;
  13. use Eccube\Controller\AbstractController;
  14. use Eccube\Entity\Cart;
  15. use Eccube\Service\CartService;
  16. use Symfony\Component\HttpFoundation\Request;
  17. use Symfony\Component\Routing\Annotation\Route;
  18. class CartController extends AbstractController
  19. {
  20.     /**
  21.      * @var CartService
  22.      */
  23.     protected $cartService;
  24.     public function __construct(
  25.         CartService $cartService
  26.     ) {
  27.         $this->cartService $cartService;
  28.     }
  29.     /**
  30.      * @Route("/block/cart", name="block_cart", methods={"GET"})
  31.      * @Route("/block/cart_sp", name="block_cart_sp", methods={"GET"})
  32.      */
  33.     public function index(Request $request)
  34.     {
  35.         $Carts $this->cartService->getCarts();
  36.         // 二重に実行され, 注文画面でのエラーハンドリングができないので
  37.         // ここではpurchaseFlowは実行しない
  38.         $totalQuantity array_reduce($Carts, function ($total$Cart) {
  39.             /* @var Cart $Cart */
  40.             $total += $Cart->getTotalQuantity();
  41.             return $total;
  42.         }, 0);
  43.         $totalPrice array_reduce($Carts, function ($total$Cart) {
  44.             /* @var Cart $Cart */
  45.             $total += $Cart->getTotalPrice();
  46.             return $total;
  47.         }, 0);
  48.         $route $request->attributes->get('_route');
  49.         if ($route == 'block_cart_sp') {
  50.             return $this->render('Block/nav_sp.twig', [
  51.                 'totalQuantity' => $totalQuantity,
  52.                 'totalPrice' => $totalPrice,
  53.                 'Carts' => $Carts,
  54.             ]);
  55.         } else {
  56.             return $this->render('Block/cart.twig', [
  57.                 'totalQuantity' => $totalQuantity,
  58.                 'totalPrice' => $totalPrice,
  59.                 'Carts' => $Carts,
  60.             ]);
  61.         }
  62.     }
  63. }