1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- namespace Magento\CatalogGraphQl\Model\Layer;
- use Magento\Catalog\Model\ResourceModel\Product\Collection;
- /**
- * Collection Provider for graphql layered navigation.
- */
- class CollectionProvider implements \Magento\Catalog\Model\Layer\ItemCollectionProviderInterface
- {
- /**
- * @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory
- */
- private $collectionFactory;
- /**
- * @var Collection
- */
- private $collection;
- /**
- * @var \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
- */
- private $collectionProcessor;
- /**
- * @param \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface $collectionProcessor
- * @param \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory
- */
- public function __construct(
- \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface $collectionProcessor,
- \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory
- ) {
- $this->collectionProcessor = $collectionProcessor;
- $this->collectionFactory = $collectionFactory;
- }
- /**
- * @param \Magento\Catalog\Model\Category $category
- * @return Collection
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function getCollection(\Magento\Catalog\Model\Category $category) : Collection
- {
- if (!$this->collection) {
- $this->collection = $this->collectionFactory->create();
- }
- return $this->collection;
- }
- }
|