Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StrategyMapper.php
Go to the documentation of this file.
1 <?php
7 
11 
19 {
23  private $baseSelectFullTextSearchStrategy;
24 
28  private $baseSelectAttributesSearchStrategy;
29 
34  public function __construct(
35  BaseSelectFullTextSearchStrategy $baseSelectFullTextSearchStrategy,
36  BaseSelectAttributesSearchStrategy $baseSelectAttributesSearchStrategy
37  ) {
38  $this->baseSelectFullTextSearchStrategy = $baseSelectFullTextSearchStrategy;
39  $this->baseSelectAttributesSearchStrategy = $baseSelectAttributesSearchStrategy;
40  }
41 
48  public function mapSelectContainerToStrategy(SelectContainer $selectContainer)
49  {
50  if ($selectContainer->isFullTextSearchRequired()
51  && !$selectContainer->hasCustomAttributesFilters()
52  && !$selectContainer->hasVisibilityFilter()
53  ) {
54  return $this->baseSelectFullTextSearchStrategy;
55  }
56 
57  return $this->baseSelectAttributesSearchStrategy;
58  }
59 }
__construct(BaseSelectFullTextSearchStrategy $baseSelectFullTextSearchStrategy, BaseSelectAttributesSearchStrategy $baseSelectAttributesSearchStrategy)