vendor/nen/kennisbank-platform/src/Nen/Controller/FaqsController.php line 30

Open in your IDE?
  1. <?php
  2. namespace Nen\Bundle\KennisbankPlatformBundle\Controller;
  3. use Nen\Bundle\KennisbankPlatformBundle\Bolt\BoltConfiguration;
  4. use Nen\Bundle\KennisbankPlatformBundle\Entity\BoltPage;
  5. use Nen\Bundle\KennisbankPlatformBundle\Repository\BoltFaqRepository;
  6. use Nen\Bundle\KennisbankPlatformBundle\Repository\BoltPageRepository;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Entity;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class FaqsController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/vraag-en-antwoord/{category}", name="faqs_index")
  15.      *
  16.      * @Entity("page", expr="repository.findOneByGeneralSectionAndSlug('vraag-en-antwoord')")
  17.      *
  18.      * @param BoltPage           $page
  19.      * @param BoltPageRepository $pageRepository
  20.      * @param BoltFaqRepository  $faqRepository
  21.      * @param BoltConfiguration  $configuration
  22.      * @param string|null        $category
  23.      * @return Response
  24.      */
  25.     public function index(
  26.         BoltPage $page,
  27.         BoltPageRepository $pageRepository,
  28.         BoltFaqRepository $faqRepository,
  29.         BoltConfiguration $configuration,
  30.         $category null
  31.     ) {
  32.         $categories $configuration->getTaxonomyOptions('categories');
  33.         $categories $faqRepository->createCategoryEntries($categories);
  34.         if (!empty($category)) {
  35.             if (!isset($categories[$category])) {
  36.                 throw $this->createNotFoundException();
  37.             }
  38.             $faqs $faqRepository->groupByCategories(
  39.                 $categories,
  40.                 $faqRepository->findAllByCategory($category)
  41.             );
  42.         } else {
  43.             $faqs $faqRepository->groupByCategories($categories);
  44.         }
  45.         return $this->render('@KennisbankPlatform/faqs/index.html.twig', [
  46.             'faqs'     => $faqs,
  47.             'page'     => $page,
  48.             'category' => $category
  49.         ]);
  50.     }
  51. }