<?php
namespace App\Controller\Pages;
use App\Entity\Pages\Pages;
use App\Repository\Posts\CategoriepostsRepository;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/cote-d-ivoire")
*/
class PagesController extends AbstractController
{
/**
* @Route("/{slug}/{id}", name="ci.pages")
* @param $slug
* @param Pages $page
* @return Response
*/
public function show($slug, Pages $page): Response
{
if ($page->getSlug() !== $slug) {
return $this->redirectToRoute('ci.pages', [
'id' => $page->getId(),
'slug' => $page->getSlug(),
], 301);
}
return $this->render('pages/internes/pages/pages.html.twig', [
'title' => $page->getName(),
'page' => $page,
'menu' => "Cote d'Ivoire",
'current_page' => 'ci'
]);
}
/**
* @Route("/deplacements", name="ci.pages.deplacements")
* @param Request $request
* @param CategoriepostsRepository $repository
* @param PaginatorInterface $paginator
* @return Response
*/
public function deplacements(Request $request, CategoriepostsRepository $repository, PaginatorInterface
$paginator): Response
{
$categories = $paginator->paginate(
$repository->findBy(['menu' => 3, 'online' => true]), /* query NOT result */
$request->query->getInt('page', 1)/*page number*/,
$request->query->getInt('limit', 12)/*limit per page*/
);
return $this->render('pages/internes/pages/deplacements.html.twig', [
'title' => 'Déplacements',
'categories' => $categories,
'current_page' => 'ci'
]);
}
/**
* @Route("/hebergements", name="ci.pages.hebergements")
* @param Request $request
* @param CategoriepostsRepository $repository
* @param PaginatorInterface $paginator
* @return Response
*/
public function hebergements(Request $request, CategoriepostsRepository $repository, PaginatorInterface
$paginator): Response
{
$categories = $paginator->paginate(
$repository->findBy(['menu' => 0, 'online' => true]), /* query NOT result */
$request->query->getInt('page', 1)/*page number*/,
$request->query->getInt('limit', 12)/*limit per page*/
);
return $this->render('pages/internes/pages/hebergements.html.twig', [
'title' => 'Hebergements',
'categories' => $categories,
'current_page' => 'ci'
]);
}
}