src/Controller/DirectionsController.php line 70

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Directions;
  4. use App\Repository\DirectionsRepository;
  5. use Knp\Component\Pager\PaginatorInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. /**
  11.  * @Route("/ci/directions")
  12.  */
  13. class DirectionsController extends AbstractController
  14. {
  15.     /**
  16.      * @var DirectionsRepository
  17.      */
  18.     private $repository;
  19.     public function __construct(DirectionsRepository $repository)
  20.     {
  21.         $this->repository $repository;
  22.     }
  23.     /**
  24.      * @Route("/", name="directions.index")
  25.      * @param Request $request
  26.      * @param DirectionsRepository $directionsRepository
  27.      * @param PaginatorInterface $paginator
  28.      * @return Response
  29.      */
  30.     public function index(Request $requestDirectionsRepository $directionsRepositoryPaginatorInterface $paginator)
  31.     {
  32.         $directions $paginator->paginate(
  33.             $directionsRepository->findBy(['online' => true]), /* query NOT result */
  34.             $request->query->getInt('page'1)/*page number*/,
  35.             $request->query->getInt('limit'12)/*limit per page*/
  36.         );
  37.         return $this->render('pages/internes/cit/directions/index.html.twig', [
  38.             'title' => 'Directions et Attributions',
  39.             'directions' => $directions,
  40.             'menu' => "Côte d'Ivoire Tourisme",
  41.             'current_page' => 'cit'
  42.         ]);
  43.     }
  44.     /**
  45.      * @Route("/{slug}/{id}", name="directions.show")
  46.      * @param $slug
  47.      * @param Directions $direction
  48.      * @return Response
  49.      */
  50.     public function show($slugDirections $direction)
  51.     {
  52.         if ($direction->getSlug() !== $slug) {
  53.             return $this->redirectToRoute('directions.show', [
  54.                 'id' => $direction->getId(),
  55.                 'slug' => $direction->getSlug(),
  56.             ], 301);
  57.         }
  58.         $othersDirections $this->repository->getDirectionsRandom($direction3);
  59.         return $this->render('pages/internes/cit/directions/show.html.twig', [
  60.             'title' => $direction->getName(),
  61.             'direction' => $direction,
  62.             'directions' => $othersDirections,
  63.             'menu' => "Côte d'Ivoire Tourisme",
  64.             'current_page' => 'cit'
  65.         ]);
  66.     }
  67. }