Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Navigation.php
Go to the documentation of this file.
1 <?php
13 
15 
21 {
27  protected $_catalogLayer;
28 
32  protected $filterList;
33 
37  protected $visibilityFlag;
38 
46  public function __construct(
47  \Magento\Framework\View\Element\Template\Context $context,
48  \Magento\Catalog\Model\Layer\Resolver $layerResolver,
49  \Magento\Catalog\Model\Layer\FilterList $filterList,
50  \Magento\Catalog\Model\Layer\AvailabilityFlagInterface $visibilityFlag,
51  array $data = []
52  ) {
53  $this->_catalogLayer = $layerResolver->get();
54  $this->filterList = $filterList;
55  $this->visibilityFlag = $visibilityFlag;
56  parent::__construct($context, $data);
57  }
58 
64  protected function _prepareLayout()
65  {
66  foreach ($this->filterList->getFilters($this->_catalogLayer) as $filter) {
67  $filter->apply($this->getRequest());
68  }
69  $this->getLayer()->apply();
70  return parent::_prepareLayout();
71  }
72 
78  public function getLayer()
79  {
80  return $this->_catalogLayer;
81  }
82 
88  public function getStateHtml()
89  {
90  return $this->getChildHtml('state');
91  }
92 
98  public function getFilters()
99  {
100  return $this->filterList->getFilters($this->_catalogLayer);
101  }
102 
108  public function canShowBlock()
109  {
110  return $this->visibilityFlag->isEnabled($this->getLayer(), $this->getFilters());
111  }
112 
118  public function getClearUrl()
119  {
120  return $this->getChildBlock('state')->getClearUrl();
121  }
122 }
__construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Catalog\Model\Layer\FilterList $filterList, \Magento\Catalog\Model\Layer\AvailabilityFlagInterface $visibilityFlag, array $data=[])
Definition: Navigation.php:46