src/Controller/TemplateController.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\MenuRepository;
  4. use App\Repository\NewsRepository;
  5. use App\Repository\EventRepository;
  6. use App\Repository\CarouselImageRepository;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. class TemplateController extends AbstractController
  11. {
  12.     public function navbar(MenuRepository $menuRepository): Response
  13.     {
  14.         $form $this->createFormBuilder()
  15.             ->add('query'TextType::class)
  16.             ->setAction($this->generateUrl('app_search'))
  17.             ->getForm();
  18.         return $this->renderForm('includes/_navbar.html.twig', [
  19.             'searchform'=>$form,
  20.             'menus' => $menuRepository->findBy(array(), array('position' => 'ASC')),
  21.         ]);
  22.     }
  23.     public function carousel(CarouselImageRepository $carouselRepository): Response
  24.     {
  25.         return $this->render('includes/_carousel.html.twig', [
  26.             'carouselItems' => $carouselRepository->findAll(),
  27.         ]);
  28.     }
  29.     public function featured(NewsRepository $newsRepository,EventRepository $eventRepository): Response
  30.     {
  31.         $featured array_merge(
  32.             $newsRepository->findBy([
  33.                 'featured'=>true
  34.             ]),$eventRepository->findBy([
  35.                 'featured'=>true
  36.         ]));
  37.         usort($featured, fn($a$b) => $a->getCreatedAt() <=> $b->getCreatedAt());
  38.         return $this->render('includes/_news.html.twig', [
  39.             'featured' => $featured,
  40.         ]);
  41.     }
  42. }