$this->
addIsAvailableCondition($criteria);
$this->
addCustomerGroupCondition($criteria,
$context);
$this->
addSearchCondition($request,
$criteria);
$this->
addManufacturerCondition($request,
$criteria);
$this->
addShippingFreeCondition($request,
$criteria);
$this->
addImmediateDeliveryCondition($request,
$criteria);
$this->
addRatingCondition($request,
$criteria);
$this->
addPriceCondition($request,
$criteria);
$this->
addWeightCondition($request,
$criteria);
$this->
addHeightCondition($request,
$criteria);
$this->
addWidthCondition($request,
$criteria);
$this->
addLengthCondition($request,
$criteria);
} private function addCategoryCondition(Request
$request, Criteria
$criteria): void
{ if ($request->
has('sCategory'
)) { /** @var array<numeric-string> $ids */
$ids =
explode('|',
$request->
getParam('sCategory'
)) ?:
[];
$criteria->
addBaseCondition(new CategoryCondition($ids));
}