/**
  * @param \Elastica\Query $query
  * @param \Spryker\Client\Search\Dependency\Plugin\SortConfigBuilderInterface $sortConfig
  * @param array $requestParameters
  *
  * @return void
  */
 protected function addSortingToQuery(Query $query, SortConfigBuilderInterface $sortConfig, array $requestParameters)
 {
     $sortParamName = $sortConfig->getActiveParamName($requestParameters);
     $sortConfigTransfer = $sortConfig->get($sortParamName);
     if ($sortConfigTransfer === null) {
         return;
     }
     $nestedSortField = $sortConfigTransfer->getFieldName() . '.' . $sortConfigTransfer->getName();
     $query->setSort([$nestedSortField => ['order' => $sortConfig->getSortDirection($sortParamName), 'mode' => 'min']]);
 }
Example #2
0
 /**
  * @param \Generated\Shared\Transfer\SearchConfigCacheTransfer $searchConfigCacheTransfer
  *
  * @return void
  */
 protected function setDynamicSorts(SearchConfigCacheTransfer $searchConfigCacheTransfer)
 {
     foreach ($searchConfigCacheTransfer->getSortConfigs() as $sortConfigTransfer) {
         $this->sortConfigBuilder->addSort($sortConfigTransfer);
     }
 }