app/Customize/Controller/BookcartController.php line 46

Open in your IDE?
  1. <?php
  2. namespace Customize\Controller;
  3. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. // 追加
  6. use Eccube\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Customize\Repository\VisualRepository;
  9. use Customize\Repository\ProductRepository;
  10. use Customize\Repository\CategoryRepository;
  11. use Customize\Repository\OrderItemRepository;
  12. use Eccube\Form\Type\SearchProductType;
  13. class BookcartController extends AbstractController
  14. {
  15.     protected $categoryRepository;
  16.     protected $visualRepository;
  17.     protected $productRepository;
  18.     protected $orderItemRepository;
  19.     public function __construct(
  20.         OrderItemRepository $orderItemRepository,
  21.         CategoryRepository $categoryRepository,
  22.         VisualRepository $visualRepository,
  23.         ProductRepository $productRepository
  24.     ) {
  25.         $this->orderItemRepository $orderItemRepository;
  26.         $this->categoryRepository $categoryRepository;
  27.         $this->visualRepository $visualRepository;
  28.         $this->productRepository $productRepository;
  29.     }
  30.     /**
  31.      * @Route("/bookcart", name="bookcart")
  32.      * @Template("Bookcart/index.twig")
  33.      */
  34.     public function index(Request $request)
  35.     {
  36.         // searchForm
  37.         /* @var $builder \Symfony\Component\Form\FormBuilderInterface */
  38.         $builder $this->formFactory->createNamedBuilder(''SearchProductType::class);
  39.         $searchForm $builder->getForm();
  40.         // BookCartメインビジュアル
  41.         $BookCartMainVisual $this->visualRepository->find(1);
  42.         // BookCartバナー
  43.         $BookCartBanner $this->visualRepository->find(2);
  44.         // 新着情報:雑誌&MOOK
  45.         $Categories = array();
  46.         $CategoryIds = [35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83];
  47.         foreach($CategoryIds as $categoryId){
  48.             $Categories[] = $this->categoryRepository->find($categoryId);
  49.         }
  50.         $NewsList1 $this->productRepository->getNewListByCategories($Categories5);
  51.         // 新着情報:書籍紹介
  52.         $Categories = array();
  53.         $CategoryIds = [155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,134,322,311,310,309,307,306,305,290,289,324,288,287,286,285,284,321,320,319,314,313,312,308,304,323,247,300,301,302,303];
  54.         foreach($CategoryIds as $categoryId){
  55.             $Categories[] = $this->categoryRepository->find($categoryId);
  56.         }
  57.         $NewsList2 $this->productRepository->getNewListByCategories($Categories5);
  58.         // 新着情報:カード&メモラビリア
  59.         $Categories = array();
  60.         $CategoryIds = [250,130,100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84];
  61.         foreach($CategoryIds as $categoryId){
  62.             $Categories[] = $this->categoryRepository->find($categoryId);
  63.         }
  64.         $NewsList3 $this->productRepository->getNewListByCategories($Categories5);
  65.         // おすすめ商品
  66.         $RecommendList $this->productRepository->getRecommendList();
  67.         // 売れている商品
  68.         $RankingList_array $this->orderItemRepository->getRankingList(208);
  69.         $RankingList = array();
  70.         foreach ($RankingList_array as $Product) {
  71.             $RankingList[] = $this->productRepository->find($Product['product_id']);
  72.         }
  73.         // メニュー用カテゴリー一覧
  74.         $Cate1st $this->categoryRepository->findOneBy(['id' => 1]);
  75.         $sortedChildren $Cate1st $Cate1st->getChildren()->toArray() : [];
  76.         usort($sortedChildren, function($a$b) {    // sort_no 昇順でソート
  77.             return $a->getSortNo() <=> $b->getSortNo();
  78.         });
  79.         return [
  80.             'search_form' => $searchForm->createView(),
  81.             'BookCartMainVisual' => $BookCartMainVisual,
  82.             'BookCartBanner' => $BookCartBanner,
  83.             'NewsList1' => $NewsList1,
  84.             'NewsList2' => $NewsList2,
  85.             'NewsList3' => $NewsList3,
  86.             'RecommendList' => $RecommendList,
  87.             'RankingList' => $RankingList,
  88.             'sortedChildren' => $sortedChildren,
  89.         ];
  90.     }
  91. }