<?php
namespace App\Controller;
use App\Annotation\CmsComponent;
use Doctrine\ORM\EntityManagerInterface;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class CaseStudiesDefaultController extends AbstractController
{
/**
* @CmsComponent("Embed CaseStudies", active=true, routeName="embed_casestudies")
*/
#[Route(path: '/cms-casestudies', name: 'embed_casestudies')]
public function embedCaseStudies(Request $request, EntityManagerInterface $em, PaginatorInterface $paginator): \Symfony\Component\HttpFoundation\Response
{
$perpage = 12;
$query = $em->createQuery('SELECT e FROM App:CaseStudies e WHERE e.deleted = 0 AND e.active = 1 ORDER BY e.sortOrder ASC');
$paginatedCaseStudies = $paginator->paginate($query, $request->query->getInt('page', 1), $perpage);
return $this->render('@theme/casestudies/casestudies.html.twig', [
'studies' => $paginatedCaseStudies,
]);
}
}