![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-elasticsearch/Model/Layer/Search/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Elasticsearch\Model\Layer\Search; use Magento\Catalog\Model\Layer\ItemCollectionProviderInterface; use Magento\Framework\Search\EngineResolverInterface; /** * Catalog search category layer collection provider. */ class ItemCollectionProvider implements ItemCollectionProviderInterface { /** * @var EngineResolverInterface */ private $engineResolver; /** * @var array */ private $factories; /** * ItemCollectionProvider constructor. * @param EngineResolverInterface $engineResolver * @param array $factories */ public function __construct( EngineResolverInterface $engineResolver, array $factories ) { $this->engineResolver = $engineResolver; $this->factories = $factories; } /** * @inheritdoc */ public function getCollection(\Magento\Catalog\Model\Category $category) { if (!isset($this->factories[$this->engineResolver->getCurrentSearchEngine()])) { throw new \DomainException('Undefined factory ' . $this->engineResolver->getCurrentSearchEngine()); } $collection = $this->factories[$this->engineResolver->getCurrentSearchEngine()]->create(); return $collection; } }