<?php declare(strict_types=1);
namespace Crehler\MojeBambinoEngine\Storefront\Controller;
use Crehler\MojeBambinoEngine\Service\FilterService;
use Shopware\Core\Framework\Routing\Annotation\RouteScope;
use Shopware\Core\Framework\Routing\Exception\MissingRequestParameterException;
use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Shopware\Storefront\Controller\StorefrontController;
use Shopware\Storefront\Framework\Cache\Annotation\HttpCache;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* @RouteScope(scopes={"storefront"})
*/
class FilterController extends StorefrontController
{
private FilterService $filterService;
public function __construct(
FilterService $filterService
) {
$this->filterService = $filterService;
}
/**
* @HttpCache()
*
* @Route("/widgets/cms/navigation/{navigationId}/countResult", name="frontend.cms.navigation.page.countResult", methods={"GET", "POST"}, defaults={"navigationId"=null, "XmlHttpRequest"=true})
*
* @throws MissingRequestParameterException
*/
public function countResult(string $navigationId, Request $request, SalesChannelContext $salesChannelContext): JsonResponse
{
if (!$navigationId) {
throw new MissingRequestParameterException('Parameter navigationId missing');
}
// $filterProductCounter = $this->filterService->getCountProductsByFilter($navigationId, $request, $salesChannelContext);
$filterProductCounter = [];
return new JsonResponse($filterProductCounter);
}
}