Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
FilterPool.php
Go to the documentation of this file.
1 <?php
8 
11 
19 {
23  protected $appliers;
24 
28  public function __construct(array $appliers = [])
29  {
30  $this->appliers = $appliers;
31  }
32 
38  public function applyFilters(Collection $collection, SearchCriteriaInterface $criteria)
39  {
40  foreach ($criteria->getFilterGroups() as $filterGroup) {
41  foreach ($filterGroup->getFilters() as $filter) {
43  if (isset($this->appliers[$filter->getConditionType()])) {
44  $filterApplier = $this->appliers[$filter->getConditionType()];
45  } else {
46  $filterApplier = $this->appliers['regular'];
47  }
48  $filterApplier->apply($collection, $filter);
49  }
50  }
51  }
52 }