?FacetResultInterface
{ $query =
$this->queryBuilderFactory->
createQuery($reverted,
$context);
$query->
resetQueryPart('orderBy'
);
$query->
resetQueryPart('groupBy'
);
$sqlField = 'productAttribute.' .
$facet->
getField();
$query->
andWhere($sqlField . ' IS NOT NULL'
) ->
andWhere($sqlField . " NOT IN ('', '0', '0000-00-00')"
);
$attribute =
$this->crudService->
get('s_articles_attributes',
$facet->
getField());
$type =
$attribute ?
$attribute->
getColumnType() : null;
switch ($facet->
getMode()) { case ProductAttributeFacet::MODE_VALUE_LIST_RESULT:
case ProductAttributeFacet::MODE_RADIO_LIST_RESULT:
$result =
$this->
createValueListFacetResult($query,
$facet,
$criteria,
$context);
break;
case ProductAttributeFacet::MODE_BOOLEAN_RESULT:
$result =
$this->
createBooleanFacetResult($query,
$facet,
$criteria);
break;