<?php
namespace Eccube\Controller\Block;
use Eccube\Controller\AbstractController;
use Eccube\Repository\PageRepository;
use Eccube\Repository\ProductRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\RequestStack;
class PanNaviController extends AbstractController
{
protected $pageRepository;
protected $productRepository;
protected $requestStack;
public function __construct(
PageRepository $pageRepository,
ProductRepository $productRepository,
RequestStack $requestStack
) {
$this->pageRepository = $pageRepository;
$this->productRepository = $productRepository;
$this->requestStack = $requestStack;
}
/**
* @Route("/block/pan_navi", name="block_pan_navi", methods={"GET"})
*/
public function index()
{
$mainRequest = $this->requestStack->getMainRequest();
$route = $mainRequest->attributes->get('_route');
if($route == "user_data") {
$tmp = explode("/", $_SERVER['REQUEST_URI']);
if (!empty($tmp[2])) {
$route = $tmp[2];
}
}
$page = $this->pageRepository->findOneBy([
'url' => trim($route),
]);
$title = "";
$sub_title = "";
if(!empty($page)){
$title = $page->getName();
}
$plaza_flg = false;
if($route == "product_detail"){
$plaza_flg = true;
$sub_title = "商品一覧";
$id = $mainRequest->attributes->get('id');
$product = $this->productRepository->find($id);
if(!empty($product)){
$title = $product->getName();
}
}
if($route == "plaza_product_detail"){
$plaza_flg = true;
$sub_title = "プラザ商品一覧";
$id = $mainRequest->attributes->get('id');
$product = $this->productRepository->find($id);
if(!empty($product)){
$title = $product->getName();
}
}
return $this->render('Block/pan_navi.twig', [
"title" => $title,
"sub_title" => $sub_title,
"plaza_flg" => $plaza_flg,
]);
}
}