src/Controller/Product/ItemController.php line 46

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Product;
  3. use App\Entity\Main\Product\Item;
  4. use App\Entity\Main\Product\Product;
  5. use App\Repository\Main\Product\ItemRepository;
  6. use App\Repository\Main\Product\ProductRepository;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class ItemController extends AbstractController
  12. {
  13.     /**
  14.      * @Route({
  15.      *     "en": "/products/{categorySlug}",
  16.      *     "tr": "/urunler/{categorySlug}"
  17.      * }, name="product_item")
  18.      */
  19.     public function index(Request $requestItemRepository $itemRepository,  $categorySlugProductRepository $productRepository): Response
  20.     {
  21.         /** @var Product $product */
  22.         $product $productRepository->findOneBy([
  23.             'slug' => $categorySlug,
  24.         ]);
  25.         $request->query->set('locale'$request->getLocale());
  26.         $request->query->set('product_id'$product->getId());
  27.         $request->query->set('status_id'Item::STATUS['ACTIVE']);
  28.         $itemPaginator $itemRepository->findByRequest($request);
  29.         return $this->render('product/item/index.html.twig', [
  30.             'itemPaginator' => $itemPaginator,
  31.             'product' => $product,
  32.         ]);
  33.     }
  34.     /**
  35.      * @Route({
  36.      *     "en": "/product/{categorySlug}/{itemSlug}",
  37.      *     "tr": "/urun/{categorySlug}/{itemSlug}"
  38.      * }, name="product_item_show")
  39.      */
  40.     public function show(ItemRepository $itemRepository$itemSlug): Response
  41.     {
  42.         $item $itemRepository->findOneBy([
  43.             'slug' => $itemSlug,
  44.         ]);
  45.         return $this->render('product/item/show.html.twig', [
  46.             'item' => $item,
  47.         ]);
  48.     }
  49. }