<?php
namespace App\Controller\Frontend;
use App\Entity\News;
use App\Entity\Section;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Form\Frontal\SearchType;
class SearchController extends AbstractController
{
/**
* @Route(
* {
* "es" : "{_locale}/resultados-busqueda",
* "ca" : "{_locale}/resultats-busqueda",
* "en" : "{_locale}/search-results",
* "cn" : "{_locale}/search-results",
* }, name="search",
* requirements={
* "_locale": "es|ca|en|cn",
* "_format" : "html"
* }
* )
*/
public function search(Request $request): Response
{
$words = $request->request->get('search')['query'];
return $this->render('Frontend/search/search_results.html.twig', [
'currentSection' => $this->getDoctrine()->getRepository(Section::class)->getOneByLang('search', $request->getLocale()),
'news' => $this->getDoctrine()->getRepository(News::class)->search($words, $request->getLocale()),
'words' => $words
]);
}
public function drawForm(Request $request)
{
$oForm = $this->createForm(SearchType::class, null, [
'action' => $this->generateUrl('search'),
]);
return $this->render('Frontend/search/search_form.html.twig', [
'form' => $oForm->createView()
]);
}
}