app/Customize/Controller/TopController.php line 33

Open in your IDE?
  1. <?php
  2. namespace Customize\Controller;
  3. use Eccube\Controller\TopController as BaseTopController;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Eccube\Entity\Customer;
  7. use Eccube\Repository\OrderRepository;
  8. class TopController extends BaseTopController
  9. {
  10.     /**
  11.      * @var OrderRepository
  12.      */
  13.     protected $orderRepository;
  14.     /**
  15.      * TopController constructor.
  16.      *
  17.      * @param OrderRepository $orderRepository
  18.      */
  19.     public function __construct(
  20.         OrderRepository $orderRepository
  21.     ) {
  22.         $this->orderRepository $orderRepository;
  23.     }
  24.     /**
  25.      * @Route("/", name="homepage", methods={"GET"})
  26.      * @Template("index.twig")
  27.      */
  28.     public function index()
  29.     {
  30.         $Customer $this->getUser();
  31.         // 購入処理中/決済処理中ステータスの受注を非表示にする.
  32.         $this->entityManager
  33.             ->getFilters()
  34.             ->enable('incomplete_order_status_hidden');
  35.         $qb $this->orderRepository->getQueryBuilderByCustomer($Customer);
  36.         $orders $qb->getQuery()->getResult();
  37.         $miuketori_exists false;
  38.         foreach ($orders as $order) {
  39.             foreach ($order->getMergedProductOrderItems() as $orderItem) {
  40.                 if (!$orderItem->isProduct()) {
  41.                     //商品以外
  42.                     continue;
  43.                 }
  44.                 if ($orderItem->getProductClass()->getSaleType()->getId() != 1) {
  45.                     //教材以外はContinue
  46.                     continue;
  47.                 }
  48.                 if ($orderItem->getHattyuuDate() != null && $orderItem->getNouhinDate() != null && $orderItem->getUketoriDate() == null) {
  49.                     $miuketori_exists true;
  50.                     break 2;
  51.                 }
  52.             }
  53.         }
  54.         return [
  55.             'miuketori_exists' => $miuketori_exists,
  56.         ];
  57.     }
  58. }