Example #1
0
 /**
  * @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);
     }
 }