/** * 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(); }
/** * 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(); }
/** * 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'); } }
/** * 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)); }
/** * 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(); }
/** * Get layer object * * @return Mage_Catalog_Model_Layer */ public function getLayer() { $helper = Mage::helper('conversionpro'); if ($helper->getIsEngineAvailableForNavigation()) { return $helper->getCurrentLayer(); } return parent::getLayer(); }