<?php
declare(strict_types=1);
namespace App\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
use Sylius\Component\Resource\ResourceActions;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\BitBagCms\FaqSection;
class
FaqController extends ResourceController
{
public function indexAction(Request $request): Response
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
$this->isGrantedOr403($configuration, ResourceActions::INDEX);
$resources = $this->resourcesCollectionProvider->get($configuration, $this->repository);
// Get the FAQ sections and their items
$faqSectionRepository = $this->getDoctrine()->getRepository(FaqSection::class);
$sections = $faqSectionRepository->findBy([], ['position' => 'ASC'], NULL, NULL);
$this->eventDispatcher->dispatchMultiple(ResourceActions::INDEX, $configuration, $resources);
if ($configuration->isHtmlRequest()) {
return $this->render($configuration->getTemplate(ResourceActions::INDEX . '.html'), [
'configuration' => $configuration,
'metadata' => $this->metadata,
'resources' => $resources,
'sections' => $sections,
$this->metadata->getPluralName() => $resources,
]);
}
return $this->createRestView($configuration, $resources);
}
}