$criteria->
addExtension('sortings',
$sortings);
} public function process(Request
$request, ProductListingResult
$result, SalesChannelContext
$context): void
{ /** @var ProductSortingCollection $sortings */
$sortings =
$result->
getCriteria()->
getExtension('sortings'
);
$currentSortingKey =
$this->
getCurrentSorting($sortings,
$request)->
getKey();
$result->
setSorting($currentSortingKey);
$result->
setAvailableSortings($sortings);
} private function getCurrentSorting(ProductSortingCollection
$sortings, Request
$request): ProductSortingEntity
{ $key =
$request->
get('order'
);
if (!\
is_string($key)) { throw ProductException::
sortingNotFoundException(''
);
} $sorting =
$sortings->
getByKey($key);