Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SearchFilter.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13 
15 {
16  const ARGUMENT_NAME = 'search';
17 
21  private $filterBuilder;
22 
26  private $filterGroupBuilder;
27 
32  public function __construct(FilterBuilder $filterBuilder, FilterGroupBuilder $filterGroupBuilder)
33  {
34  $this->filterBuilder = $filterBuilder;
35  $this->filterGroupBuilder = $filterGroupBuilder;
36  }
37 
45  public function add(string $searchTerm, SearchCriteriaInterface $searchCriteria) : SearchCriteriaInterface
46  {
47  $searchTermFilter = $this->filterBuilder->setField('search_term')->setValue($searchTerm)->create();
48  $this->filterGroupBuilder->addFilter($searchTermFilter);
49  $filterGroups = $searchCriteria->getFilterGroups();
50  $filterGroups[] = $this->filterGroupBuilder->create();
51  $searchCriteria->setFilterGroups($filterGroups);
52  $searchCriteria->setRequestName('quick_search_container');
53  return $searchCriteria;
54  }
55 }
__construct(FilterBuilder $filterBuilder, FilterGroupBuilder $filterGroupBuilder)
$searchCriteria
add(string $searchTerm, SearchCriteriaInterface $searchCriteria)