Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
State.php
Go to the documentation of this file.
1 <?php
7 
9 
17 {
21  protected $_template = 'Magento_LayeredNavigation::layer/state.phtml';
22 
28  protected $_catalogLayer;
29 
35  public function __construct(
36  \Magento\Framework\View\Element\Template\Context $context,
37  \Magento\Catalog\Model\Layer\Resolver $layerResolver,
38  array $data = []
39  ) {
40  $this->_catalogLayer = $layerResolver->get();
41  parent::__construct($context, $data);
42  }
43 
49  public function getActiveFilters()
50  {
51  $filters = $this->getLayer()->getState()->getFilters();
52  if (!is_array($filters)) {
53  $filters = [];
54  }
55  return $filters;
56  }
57 
63  public function getClearUrl()
64  {
65  $filterState = [];
66  foreach ($this->getActiveFilters() as $item) {
67  $filterState[$item->getFilter()->getRequestVar()] = $item->getFilter()->getCleanValue();
68  }
69  $params['_current'] = true;
70  $params['_use_rewrite'] = true;
71  $params['_query'] = $filterState;
72  $params['_escape'] = true;
73  return $this->_urlBuilder->getUrl('*/*/*', $params);
74  }
75 
81  public function getLayer()
82  {
83  if (!$this->hasData('layer')) {
84  $this->setLayer($this->_catalogLayer);
85  }
86  return $this->_getData('layer');
87  }
88 }
$filters
Definition: uploader.phtml:11
__construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, array $data=[])
Definition: State.php:35
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18