Skip to content

Commit 9516af0

Browse files
authored
Merge pull request #81 from Florian-Merle/fix/search-exception
fix(search): exception when only 1 result is found
2 parents 85ac277 + a3ba93d commit 9516af0

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/Controller/SearchController.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
use MonsieurBiz\SyliusSearchPlugin\Context\TaxonContextInterface;
1717
use MonsieurBiz\SyliusSearchPlugin\Exception\MissingLocaleException;
1818
use MonsieurBiz\SyliusSearchPlugin\Exception\NotSupportedTypeException;
19+
use MonsieurBiz\SyliusSearchPlugin\Helper\RenderDocumentUrlHelper;
1920
use MonsieurBiz\SyliusSearchPlugin\Model\Config\GridConfig;
2021
use MonsieurBiz\SyliusSearchPlugin\Model\Document\Index\Search;
2122
use MonsieurBiz\SyliusSearchPlugin\Model\Document\Result;
2223
use MonsieurBiz\SyliusSearchPlugin\Model\Document\ResultSet;
23-
use MonsieurBiz\SyliusSearchPlugin\Twig\Extension\RenderDocumentUrl;
2424
use Sylius\Component\Channel\Context\ChannelContextInterface;
2525
use Sylius\Component\Currency\Context\CurrencyContextInterface;
2626
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -52,6 +52,9 @@ class SearchController extends AbstractController
5252
/** @var GridConfig */
5353
private $gridConfig;
5454

55+
/** @var RenderDocumentUrlHelper */
56+
private $renderDocumentUrlHelper;
57+
5558
/**
5659
* SearchController constructor.
5760
*
@@ -60,22 +63,25 @@ class SearchController extends AbstractController
6063
* @param ChannelContextInterface $channelContext
6164
* @param CurrencyContextInterface $currencyContext
6265
* @param TaxonContextInterface $taxonContext
63-
* @param array $gridConfig
66+
* @param GridConfig $gridConfig
67+
* @param RenderDocumentUrlHelper $renderDocumentUrlHelper
6468
*/
6569
public function __construct(
6670
EngineInterface $templatingEngine,
6771
Search $documentSearch,
6872
ChannelContextInterface $channelContext,
6973
CurrencyContextInterface $currencyContext,
7074
TaxonContextInterface $taxonContext,
71-
GridConfig $gridConfig
75+
GridConfig $gridConfig,
76+
RenderDocumentUrlHelper $renderDocumentUrlHelper
7277
) {
7378
$this->templatingEngine = $templatingEngine;
7479
$this->documentSearch = $documentSearch;
7580
$this->channelContext = $channelContext;
7681
$this->currencyContext = $currencyContext;
7782
$this->taxonContext = $taxonContext;
7883
$this->gridConfig = $gridConfig;
84+
$this->renderDocumentUrlHelper = $renderDocumentUrlHelper;
7985
}
8086

8187
/**
@@ -117,8 +123,7 @@ public function searchAction(Request $request): Response
117123
/** @var Result $document */
118124
$document = current($resultSet->getResults());
119125
try {
120-
$renderDocumentUrl = new RenderDocumentUrl();
121-
$urlParams = $renderDocumentUrl->getUrlParams($document);
126+
$urlParams = $this->renderDocumentUrlHelper->getUrlParams($document);
122127

123128
return new RedirectResponse($this->generateUrl($urlParams->getPath(), $urlParams->getParams()));
124129
} catch (NotSupportedTypeException $e) {

0 commit comments

Comments
 (0)