src/Controller/Front/ProductPageController.php line 41

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use App\Repository\CategoryRepository;
  4. use App\Repository\ProductPageRepository;
  5. use App\Repository\SubCategoryRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class ProductPageController extends AbstractController
  9. {
  10.     /**
  11.      * @var CategoryRepository
  12.      */
  13.     private CategoryRepository $categoryRepository;
  14.     /**
  15.      * @var SubCategoryRepository
  16.      */
  17.     private SubCategoryRepository $subCategoryRepository;
  18.     /**
  19.      * @var ProductPageRepository
  20.      */
  21.     private ProductPageRepository $productPageRepository;
  22.     public function __construct(
  23.         CategoryRepository $categoryRepository,
  24.         SubCategoryRepository $subCategoryRepository,
  25.         ProductPageRepository $productPageRepository)
  26.     {
  27.         $this->categoryRepository $categoryRepository;
  28.         $this->subCategoryRepository $subCategoryRepository;
  29.         $this->productPageRepository $productPageRepository;
  30.     }
  31.     /**
  32.      * @Route("/product-services/{category_slug}/{subcategory_slug}/{slug_page}", name="front_product_page")
  33.      */
  34.     public function productPage(string $category_slugstring $subcategory_slugstring $slug_page)
  35.     {
  36.         $productPage $this->productPageRepository->findOneBy(['slug' => $slug_page]);
  37.         $subCategory $productPage->getSubCategory();
  38.         $allProductsPage $subCategory->getProductPages();
  39.         $nextProductPage null;
  40.         foreach ($allProductsPage as $key => $allProductPage) {
  41.             if ($allProductPage->getId() === $productPage->getId()) {
  42.                 $nextProductPage $allProductsPage[$key 1];
  43.             }
  44.         }
  45.         return $this->render('front/product/product_single.html.twig', [
  46.             'productPage' => $productPage,
  47.             'nextProductPage' => $nextProductPage
  48.         ]);
  49.     }
  50. }