app/Plugin/PiaSimilarProducts/Controller/Block/PiaSimilarProductController.php line 68

Open in your IDE?
  1. <?php
  2. /*
  3.  * Copyright(c) 2019 SYSTEM FRIEND INC.
  4.  */
  5. namespace Plugin\PiaSimilarProducts\Controller\Block;
  6. use Eccube\Controller\AbstractController;
  7. use Eccube\Repository\ProductRepository;
  8. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Plugin\PiaSimilarProducts\Service\SimilarProductsService;
  12. use Plugin\CustomerRank42\Repository\CustomerPriceRepository;
  13. use Plugin\ProductPlus42\Repository\ProductDataDetailRepository;
  14. class PiaSimilarProductController extends AbstractController{
  15.   /**
  16.    * @var SimilarProductsService
  17.    */
  18.   protected $SimilarProductsService;
  19.   /**
  20.    * @var ProductRepository
  21.    */
  22.   protected $productRepository;
  23.   /**
  24.    * @var CustomerPriceRepository
  25.    */
  26.   protected $customerPriceRepository;
  27.   /**
  28.    * @var ProductDataDetailRepository
  29.    */
  30.   protected $productDataDetailRepository;
  31.   /**
  32.    * CheckProductController constructor.
  33.    *
  34.    * @param SimilarProductsService $SimilarProductsService
  35.    * @param ProductRepository $productRepository
  36.    * @param CustomerPriceRepository $customerPriceRepository
  37.    * @param ProductDataDetailRepository $ProductDataDetailRepository
  38.    */
  39.   public function __construct(
  40.     SimilarProductsService $SimilarProductsService,
  41.     ProductRepository $productRepository,
  42.     CustomerPriceRepository $customerPriceRepository,
  43.     ProductDataDetailRepository $ProductDataDetailRepository
  44.   )
  45.   {
  46.     $this->SimilarProductsService $SimilarProductsService;
  47.     $this->productRepository $productRepository;
  48.     $this->customerPriceRepository $customerPriceRepository;
  49.     $this->productDataDetailRepository $ProductDataDetailRepository;
  50.   }
  51.   /**
  52.    * @Route("/block/pia_similar_product", name="block_pia_similar_product")
  53.    * @Template("Block/pia_similar_product.twig")
  54.    *
  55.    * @param Request $request
  56.    * @return array
  57.    */
  58.   public function index(Request $request)
  59.   {
  60.     $tmp explode("/"$_SERVER["REQUEST_URI"]);
  61.     $Product $this->productRepository->find($tmp[3]);
  62.     return [
  63.       'rows' => $this->SimilarProductsService->getSimilarProducts($Product),
  64.       'htPrice' => $this->customerPriceRepository->getHashPrice(2),
  65.     ];
  66.   }
  67.   /**
  68.    * @Route("/block/pia_product_detail_youtube", name="block_pia_product_detail_youtube")
  69.    * @Template("Block/pia_product_detail_youtube.twig")
  70.    *
  71.    * @param Request $request
  72.    * @return array
  73.    */
  74.   public function youtube(Request $request)
  75.   {
  76.     $tmp explode("/"$_SERVER["REQUEST_URI"]);
  77.     $product_id = empty($tmp[3]) ? false intval($tmp[3]);
  78.     return [
  79.       'youtube' => $this->productDataDetailRepository->getObjectFromProductId(intval($product_id),32),
  80.     ];
  81.   }
  82. }