/** * @param \Magento\Catalog\Model\Layer $layer * @return array|\Magento\Catalog\Model\Layer\Filter\AbstractFilter[] */ public function getFilters(\Magento\Catalog\Model\Layer $layer) { try { if ($this->bxHelperData->isFilterLayoutEnabled($layer) && $this->bxHelperData->isLeftFilterEnabled()) { $filters = array(); $facets = $this->getBxFacets(); if ($facets) { foreach ($this->bxHelperData->getLeftFacetFieldNames() as $fieldName) { $attribute = $this->objectManager->create("Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute"); $filter = $this->objectManager->create("Boxalino\\Intelligence\\Model\\Attribute", ['data' => ['attribute_model' => $attribute], 'layer' => $layer]); $filter->setFacets($facets); $filter->setFieldName($fieldName); $filters[] = $filter; } } return $filters; } else { return parent::getFilters($layer); } } catch (\Exception $e) { $this->bxHelperData->setFallback(true); $this->_logger->critical($e); return parent::getFilters($layer); } }