/**
  * Add layerd navigation filters on current layer block
  *
  * @param Mage_Catalog_Block_Layer_View $block
  *
  * @return $this
  */
 protected function _addLayeredNavigation($block)
 {
     $stateBlock = $block->getLayout()->createBlock('catalog/layer_state')->setLayer($block->getLayer());
     $block->setChild('layer_state', $stateBlock);
     $filterableAttributes = Mage::getResourceModel('factfinder_asn/product_attribute_collection');
     foreach ($filterableAttributes as $index => $attribute) {
         $filter = $block->getLayout()->createBlock('factfinder_asn/catalog_layer_factfinder')->setAttributeModel($attribute)->setLayer($block->getLayer())->init();
         $block->setChild($attribute->getAttributeCode() . '_filter', $filter);
         // remove category filter - it's enough to add it as a child
         if ($attribute->getAttributeCode() == 'category') {
             $filterableAttributes->removeItemByKey($index);
         }
     }
     $block->setData('_filterable_attributes', $filterableAttributes);
     return $this;
 }
 /**
  * Returns current catalog layer.
  *
  * @return Smile_ElasticSearch_Model_Catalog_Layer|Mage_Catalog_Model_Layer
  */
 public function getLayer()
 {
     /** @var $helper Smile_ElasticSearch_Helper_Data */
     $helper = Mage::helper('smile_elasticsearch');
     if ($helper->isActiveEngine()) {
         return Mage::getSingleton('smile_elasticsearch/catalog_layer');
     }
     return parent::getLayer();
 }
Example #3
0
 /**
  * Get layer object
  *
  * @return Mage_Catalog_Model_Layer
  */
 public function getLayer()
 {
     if (Mage::helper('enterprise_search')->getIsEngineAvailableForNavigation()) {
         return Mage::getSingleton('enterprise_search/catalog_layer');
     }
     return parent::getLayer();
 }
Example #4
0
 /**
  * Returns the current catalog layer.
  *
  * @return NanoWebG_ElasticSearch_Model_Catalog_Layer|Mage_Catalog_Model_Layer
  */
 public function getLayer()
 {
     /** @var $helper NanoWebG_ElasticSearch_Helper_Data */
     $helper = Mage::helper('nanowebg_elasticsearch');
     if (!$helper->useElasticSearch()) {
         return parent::getLayer();
     } else {
         return Mage::getSingleton('nanowebg_elasticsearch/catalog_layer');
     }
 }
Example #5
0
 /**
  * Layered navigation block, clears on changed associated category ID
  *
  * @param Mage_Catalog_Block_Layer_View $block
  */
 public function applyCatalogLayerView(Mage_Catalog_Block_Layer_View $block)
 {
     // Set cache tags
     $tags = $block->getLayer()->getStateTags();
     $block->setData('cache_tags', $tags);
     $keys = $this->_getBasicKeys($block);
     $keys[] = $block->getLayer()->getStateKey();
     foreach (Mage::app()->getRequest()->getParams() as $key => $value) {
         $value = Mage::helper('cache')->paramValueToCacheKey($value);
         $keys[] = $key . '_' . $value;
     }
     $block->setData('cache_key', $this->_getCacheKey($keys));
 }
Example #6
0
 /**
  * Returns current catalog layer.
  *
  * @return Bubble_Search_Model_Catalog_Layer|Mage_Catalog_Model_Layer
  */
 public function getLayer()
 {
     /** @var $helper Bubble_Search_Helper_Data */
     $helper = Mage::helper('bubble_search');
     if ($helper->isActiveEngine()) {
         return Mage::getSingleton('bubble_search/catalog_layer');
     }
     return parent::getLayer();
 }
Example #7
0
 /**
  * Get layer object
  *
  * @return Mage_Catalog_Model_Layer
  */
 public function getLayer()
 {
     $helper = Mage::helper('conversionpro');
     if ($helper->getIsEngineAvailableForNavigation()) {
         return $helper->getCurrentLayer();
     }
     return parent::getLayer();
 }