1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_CatalogSearch
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Layered Navigation block for search
29: *
30: */
31: class Mage_CatalogSearch_Block_Layer extends Mage_Catalog_Block_Layer_View
32: {
33: /**
34: * Internal constructor
35: */
36: protected function _construct()
37: {
38: parent::_construct();
39: Mage::register('current_layer', $this->getLayer(), true);
40: }
41:
42: /**
43: * Get attribute filter block name
44: *
45: * @deprecated after 1.4.1.0
46: *
47: * @return string
48: */
49: protected function _getAttributeFilterBlockName()
50: {
51: return 'catalogsearch/layer_filter_attribute';
52: }
53:
54: /**
55: * Initialize blocks names
56: */
57: protected function _initBlocks()
58: {
59: parent::_initBlocks();
60:
61: $this->_attributeFilterBlockName = 'catalogsearch/layer_filter_attribute';
62: }
63:
64: /**
65: * Get layer object
66: *
67: * @return Mage_Catalog_Model_Layer
68: */
69: public function getLayer()
70: {
71: return Mage::getSingleton('catalogsearch/layer');
72: }
73:
74: /**
75: * Check availability display layer block
76: *
77: * @return bool
78: */
79: public function canShowBlock()
80: {
81: $_isLNAllowedByEngine = Mage::helper('catalogsearch')->getEngine()->isLeyeredNavigationAllowed();
82: if (!$_isLNAllowedByEngine) {
83: return false;
84: }
85: $availableResCount = (int) Mage::app()->getStore()
86: ->getConfig(Mage_CatalogSearch_Model_Layer::XML_PATH_DISPLAY_LAYER_COUNT);
87:
88: if (!$availableResCount
89: || ($availableResCount>=$this->getLayer()->getProductCollection()->getSize())) {
90: return parent::canShowBlock();
91: }
92: return false;
93: }
94: }
95: