/** * @param ProductAttributeFacet $criteriaPart * @param $data * @param Criteria $criteria * @return RangeFacetResult */ private function createRangeResult(ProductAttributeFacet $criteriaPart, $data, Criteria $criteria) { $values = array_column($data['buckets'], 'key'); $min = min($values); $max = max($values); $template = $criteriaPart->getTemplate(); if (!$template) { $template = 'frontend/listing/filter/facet-range.tpl'; } $activeMin = $min; $activeMax = $max; /**@var $condition ProductAttributeCondition*/ if ($condition = $criteria->getCondition($criteriaPart->getName())) { $data = $condition->getValue(); $activeMin = $data['min']; $activeMax = $data['max']; } return new RangeFacetResult($criteriaPart->getName(), $criteria->hasCondition($criteriaPart->getName()), $criteriaPart->getLabel(), $min, $max, $activeMin, $activeMax, 'min' . $criteriaPart->getFormFieldName(), 'max' . $criteriaPart->getFormFieldName(), [], $template); }