<?php
/*
* Copyright(c) 2019 SYSTEM FRIEND INC.
*/
namespace Plugin\PiaSimilarProducts\Controller\Block;
use Eccube\Controller\AbstractController;
use Eccube\Repository\ProductRepository;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Plugin\PiaSimilarProducts\Service\SimilarProductsService;
use Plugin\CustomerRank42\Repository\CustomerPriceRepository;
use Plugin\ProductPlus42\Repository\ProductDataDetailRepository;
class PiaSimilarProductController extends AbstractController{
/**
* @var SimilarProductsService
*/
protected $SimilarProductsService;
/**
* @var ProductRepository
*/
protected $productRepository;
/**
* @var CustomerPriceRepository
*/
protected $customerPriceRepository;
/**
* @var ProductDataDetailRepository
*/
protected $productDataDetailRepository;
/**
* CheckProductController constructor.
*
* @param SimilarProductsService $SimilarProductsService
* @param ProductRepository $productRepository
* @param CustomerPriceRepository $customerPriceRepository
* @param ProductDataDetailRepository $ProductDataDetailRepository
*/
public function __construct(
SimilarProductsService $SimilarProductsService,
ProductRepository $productRepository,
CustomerPriceRepository $customerPriceRepository,
ProductDataDetailRepository $ProductDataDetailRepository
)
{
$this->SimilarProductsService = $SimilarProductsService;
$this->productRepository = $productRepository;
$this->customerPriceRepository = $customerPriceRepository;
$this->productDataDetailRepository = $ProductDataDetailRepository;
}
/**
* @Route("/block/pia_similar_product", name="block_pia_similar_product")
* @Template("Block/pia_similar_product.twig")
*
* @param Request $request
* @return array
*/
public function index(Request $request)
{
$tmp = explode("/", $_SERVER["REQUEST_URI"]);
$Product = $this->productRepository->find($tmp[3]);
return [
'rows' => $this->SimilarProductsService->getSimilarProducts($Product),
'htPrice' => $this->customerPriceRepository->getHashPrice(2),
];
}
/**
* @Route("/block/pia_product_detail_youtube", name="block_pia_product_detail_youtube")
* @Template("Block/pia_product_detail_youtube.twig")
*
* @param Request $request
* @return array
*/
public function youtube(Request $request)
{
$tmp = explode("/", $_SERVER["REQUEST_URI"]);
$product_id = empty($tmp[3]) ? false : intval($tmp[3]);
return [
'youtube' => $this->productDataDetailRepository->getObjectFromProductId(intval($product_id),32),
];
}
}