Esempio n. 1
0
 private function getBxFacets()
 {
     if ($this->bxFacets == null) {
         $this->bxFacets = $this->p13nHelper->getFacets();
     }
     return $this->bxFacets;
 }
Esempio n. 2
0
 /**
  * Get applied to layer filter items
  *
  * @return Item[]
  */
 public function getFilters()
 {
     try {
         if ($this->bxHelperData->isFilterLayoutEnabled($this->_layer)) {
             $category = $this->_categoryViewBlock->getCurrentCategory();
             if ($category != null && $category->getDisplayMode() == \Magento\Catalog\Model\Category::DM_PAGE) {
                 return parent::getFilters();
             }
             $filters = array();
             $facets = $this->p13nHelper->getFacets();
             if ($facets) {
                 foreach ($this->bxHelperData->getAllFacetFieldNames() as $fieldName) {
                     if ($facets->isSelected($fieldName)) {
                         $filter = $this->objectManager->create("Boxalino\\Intelligence\\Model\\LayerFilterItem");
                         $filter->setFacets($facets);
                         $filter->setFieldName($fieldName);
                         $filters[] = $filter;
                     }
                 }
             }
             return $filters;
         }
         return parent::getFilters();
     } catch (\Exception $e) {
         $this->bxHelperData->setFallback(true);
         $this->_logger->critical($e);
         return parent::getFilters();
     }
 }
Esempio n. 3
0
 /**
  * @return array|null
  */
 public function getSliderValues()
 {
     $facets = $this->p13nHelper->getFacets();
     if (empty($facets) || empty($facets->getFacetValues($facets->getPriceFieldName()))) {
         return null;
     }
     $priceRange = $this->explodePrice($facets->getPriceRanges()[0]);
     $selectedPrice = $this->getRequest()->getParam('bx_discountedPrice') !== null ? $this->explodePrice($this->getRequest()->getParam('bx_discountedPrice')) : $priceRange;
     if ($priceRange[0] == $priceRange[1]) {
         $priceRange[1]++;
     }
     return array_merge($selectedPrice, $priceRange);
 }
Esempio n. 4
0
 /**
  * @return array
  */
 public function getTopFilters()
 {
     try {
         if ($this->bxHelperData->isFilterLayoutEnabled($this->layer) && $this->isTopFilterEnabled()) {
             $facets = $this->p13nHelper->getFacets();
             if ($facets) {
                 $fieldName = $this->bxHelperData->getTopFacetFieldName();
                 $attribute = $this->objectManager->create("Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute");
                 $filter = $this->objectManager->create("Boxalino\\Intelligence\\Model\\Attribute", ['data' => ['attribute_model' => $attribute], 'layer' => $this->layer]);
                 $filter->setFacets($facets);
                 $filter->setFieldName($fieldName);
                 return $filter->getItems();
             }
         }
     } catch (\Exception $e) {
         $this->bxHelperData->setFallback(true);
         $this->_logger->critical($e);
     }
     return array();
 }