|
8 | 8 | namespace Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider; |
9 | 9 |
|
10 | 10 | use Magento\Catalog\Api\Data\ProductSearchResultsInterfaceFactory; |
| 11 | +use Magento\Catalog\Model\Product\Visibility; |
11 | 12 | use Magento\Catalog\Model\ResourceModel\Product\Collection; |
12 | 13 | use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; |
13 | 14 | use Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionPostProcessor; |
|
18 | 19 | use Magento\Framework\Api\Search\SearchResultInterface; |
19 | 20 | use Magento\Framework\Api\SearchCriteriaInterface; |
20 | 21 | use Magento\Framework\Api\SearchResultsInterface; |
| 22 | +use Magento\Framework\App\ObjectManager; |
21 | 23 | use Magento\GraphQl\Model\Query\ContextInterface; |
22 | 24 |
|
23 | 25 | /** |
@@ -55,28 +57,36 @@ class ProductSearch |
55 | 57 | */ |
56 | 58 | private $searchCriteriaBuilder; |
57 | 59 |
|
| 60 | + /** |
| 61 | + * @var Visibility |
| 62 | + */ |
| 63 | + private $catalogProductVisibility; |
| 64 | + |
58 | 65 | /** |
59 | 66 | * @param CollectionFactory $collectionFactory |
60 | 67 | * @param ProductSearchResultsInterfaceFactory $searchResultsFactory |
61 | 68 | * @param CollectionProcessorInterface $collectionPreProcessor |
62 | 69 | * @param CollectionPostProcessor $collectionPostProcessor |
63 | 70 | * @param SearchResultApplierFactory $searchResultsApplierFactory |
64 | 71 | * @param ProductCollectionSearchCriteriaBuilder $searchCriteriaBuilder |
| 72 | + * @param Visibility $catalogProductVisibility |
65 | 73 | */ |
66 | 74 | public function __construct( |
67 | 75 | CollectionFactory $collectionFactory, |
68 | 76 | ProductSearchResultsInterfaceFactory $searchResultsFactory, |
69 | 77 | CollectionProcessorInterface $collectionPreProcessor, |
70 | 78 | CollectionPostProcessor $collectionPostProcessor, |
71 | 79 | SearchResultApplierFactory $searchResultsApplierFactory, |
72 | | - ProductCollectionSearchCriteriaBuilder $searchCriteriaBuilder |
| 80 | + ProductCollectionSearchCriteriaBuilder $searchCriteriaBuilder, |
| 81 | + Visibility $catalogProductVisibility |
73 | 82 | ) { |
74 | 83 | $this->collectionFactory = $collectionFactory; |
75 | 84 | $this->searchResultsFactory = $searchResultsFactory; |
76 | 85 | $this->collectionPreProcessor = $collectionPreProcessor; |
77 | 86 | $this->collectionPostProcessor = $collectionPostProcessor; |
78 | 87 | $this->searchResultApplierFactory = $searchResultsApplierFactory; |
79 | 88 | $this->searchCriteriaBuilder = $searchCriteriaBuilder; |
| 89 | + $this->catalogProductVisibility = $catalogProductVisibility; |
80 | 90 | } |
81 | 91 |
|
82 | 92 | /** |
@@ -106,6 +116,7 @@ public function getList( |
106 | 116 | $this->getSortOrderArray($searchCriteriaForCollection) |
107 | 117 | )->apply(); |
108 | 118 |
|
| 119 | + $collection->setVisibility($this->catalogProductVisibility->getVisibleInSiteIds()); |
109 | 120 | $this->collectionPreProcessor->process($collection, $searchCriteriaForCollection, $attributes, $context); |
110 | 121 | $collection->load(); |
111 | 122 | $this->collectionPostProcessor->process($collection, $attributes); |
|
0 commit comments