src/Controller/FaqController.php line 34

  1. <?php
  2. namespace App\Controller;
  3. use App\Controller\Traits\HreflangsControllerTrait;
  4. use App\Controller\Traits\MetatagsControllerTrait;
  5. use App\Controller\Traits\StaticPageHelperTrait;
  6. use App\Entity\Faq;
  7. use App\Entity\FaqCategory;
  8. use App\Repository\FaqCategoryRepository;
  9. use App\Repository\FaqRepository;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Contracts\Translation\TranslatorInterface;
  15. class FaqController extends AbstractController
  16. {
  17.     use MetatagsControllerTraitHreflangsControllerTraitStaticPageHelperTrait;
  18.     private $em;
  19.     private $transalor;
  20.     public function __construct(EntityManagerInterface $emTranslatorInterface $translator){
  21.         $this->em $em;
  22.         $this->transalor $translator;
  23.     }
  24.     #[Route(path: [
  25.         'it' => '/faq',
  26.         'en' => '/en/faq',
  27.         'es' => '/es/faq'
  28.     ], name'app_faq')]
  29.     public function faqIndex(Request $requestEntityManagerInterface $em)
  30.     {
  31.         list ($metatags$hreflangs) = $this->getStaticPageMetatagsAndHreflangs($request$em$this->getParameter('locales'));
  32.         /**
  33.          * @var FaqCategoryRepository $faqCategoryRepository
  34.          */
  35.         $faqCategoryRepository $this->em->getRepository(FaqCategory::class);
  36.         $faqCategories $faqCategoryRepository->findBy([
  37.             'isEnabled' => true,
  38.             'locale' => $request->getLocale()
  39.         ]);
  40.         $arrayfaq null;
  41.         foreach($faqCategories as $faqCategory){
  42.             $faqRepository $this->em->getRepository(Faq::class);
  43.             $arrayfaq[$faqCategory->getId()] = $faqRepository->findBy([
  44.                     'category' => $faqCategory->getId(),
  45.                     'isEnabled' => true,
  46.                     'locale' => $request->getLocale(),
  47.             ]);
  48.         };
  49.         return $this->render('faq/index.html.twig', [
  50.             // 'form' => $form->createView(),
  51.             'faqCategories' => $faqCategories,
  52.             'arrayFaq' => $arrayfaq,
  53.             'metatags' => $metatags,
  54.             'hreflangs' => $hreflangs
  55.         ]);
  56.     }
  57. }