src/Controller/InstitutionsController.php line 58

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Institutions;
  4. use App\Repository\InstitutionsRepository;
  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/institutions")
  12.  */
  13. class InstitutionsController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("/", name="institutions.index")
  17.      * @param Request $request
  18.      * @param InstitutionsRepository $institutionsRepository
  19.      * @param PaginatorInterface $paginator
  20.      * @return Response
  21.      */
  22.     public function index(Request $requestInstitutionsRepository $institutionsRepositoryPaginatorInterface $paginator)
  23.     {
  24.         $institutions $paginator->paginate(
  25.             $institutionsRepository->findBy(['online' => true]), /* query NOT result */
  26.             $request->query->getInt('page'1)/*page number*/,
  27.             $request->query->getInt('limit'12)/*limit per page*/
  28.         );
  29.         return $this->render('pages/internes/ci/institutions/index.html.twig', [
  30.             'title' => 'Institutions',
  31.             'institutions' => $institutions,
  32.             'menu' => "Côte d'Ivoire",
  33.             'current_page' => 'ci'
  34.         ]);
  35.     }
  36.     /**
  37.      * @Route("/{slug}/{id}", name="institutions.show")
  38.      * @param $slug
  39.      * @param Institutions $institution
  40.      * @return Response
  41.      */
  42.     public function show($slugInstitutions $institution)
  43.     {
  44.         if ($institution->getSlug() !== $slug) {
  45.             return $this->redirectToRoute('institutions.show', [
  46.                 'id' => $institution->getId(),
  47.                 'slug' => $institution->getSlug(),
  48.             ], 301);
  49.         }
  50.         return $this->render('pages/internes/ci/institutions/show.html.twig', [
  51.             'title' => $institution->getName(),
  52.             'institution' => $institution,
  53.             'menu' => "Côte d'Ivoire",
  54.             'current_page' => 'ci'
  55.         ]);
  56.     }
  57. }