/** * Get catalog layer * @return \Magento\Catalog\Model\Layer */ private function getCatalogLayer() { if ($this->_catalogLayer === null) { $this->_catalogLayer = $this->layerResolver->get(); } return $this->_catalogLayer; }
/** * Constructor. * * @param Resolver $layerResolver Layer. * @param Data $catalogSearchData Catalog search helper. * @param QueryFactory $queryFactory Search query factory. * @param QueryResource $queryResource Search query resource. */ public function __construct(Resolver $layerResolver, Data $catalogSearchData, QueryFactory $queryFactory, QueryResource $queryResource) { $this->layer = $layerResolver->get(); $this->catalogSearchData = $catalogSearchData; $this->queryFactory = $queryFactory; $this->queryResource = $queryResource; }
/** * @param Context $context * @param Advanced $catalogSearchAdvanced * @param LayerResolver $layerResolver * @param UrlFactory $urlFactory * @param array $data */ public function __construct(Context $context, Advanced $catalogSearchAdvanced, LayerResolver $layerResolver, UrlFactory $urlFactory, array $data = []) { $this->_catalogSearchAdvanced = $catalogSearchAdvanced; $this->_catalogLayer = $layerResolver->get(); $this->_urlFactory = $urlFactory; parent::__construct($context, $data); }
/** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Framework\Registry $registry * @param \Magento\Catalog\Helper\Category $categoryHelper * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Framework\Registry $registry, \Magento\Catalog\Helper\Category $categoryHelper, array $data = []) { $this->_categoryHelper = $categoryHelper; $this->_catalogLayer = $layerResolver->get(); $this->_coreRegistry = $registry; parent::__construct($context, $data); }
/** * @param Template\Context $context * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Catalog\Model\Layer\FilterList $filterList * @param \Magento\Catalog\Model\Layer\AvailabilityFlagInterface $visibilityFlag * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Catalog\Model\Layer\FilterList $filterList, \Magento\Catalog\Model\Layer\AvailabilityFlagInterface $visibilityFlag, array $data = []) { $this->_catalogLayer = $layerResolver->get(); $this->filterList = $filterList; $this->visibilityFlag = $visibilityFlag; parent::__construct($context, $data); }
/** * @param Context $context * @param LayerResolver $layerResolver * @param Data $catalogSearchData * @param QueryFactory $queryFactory * @param array $data */ public function __construct(Context $context, LayerResolver $layerResolver, Data $catalogSearchData, QueryFactory $queryFactory, array $data = []) { $this->catalogLayer = $layerResolver->get(); $this->catalogSearchData = $catalogSearchData; $this->queryFactory = $queryFactory; parent::__construct($context, $data); }
/** * {@inheritdoc} * @param Observer $observer * @return bool */ public function execute(Observer $observer) { /** @var \Magento\Framework\App\Request\Http $request */ $request = $observer->getEvent()->getData('request'); // search page && feature enabled && not misspelled if ($request->getControllerModule() == 'Magento_CatalogSearch' && $this->config->isRedirectOnSingleResult() && !$request->getParam('o')) { // if one result and this is product if ($this->query->getNumResults() == 1 && $this->layerResolver->get()->getProductCollection()->getSize() == 1) { /** @var \Magento\Catalog\Model\Product $product */ $product = $this->layerResolver->get()->getProductCollection()->getFirstItem(); /** @var \Magento\Framework\App\Response\Http\Interceptor $response */ $response = $observer->getEvent()->getData('response'); $response->setRedirect($product->getProductUrl())->setStatusCode(301)->sendResponse(); } } return true; }
/** * @param Algorithm $algorithm * @param Resolver $layerResolver * @param ScopeConfigInterface $scopeConfig * @param Render $render * @param IntervalFactory $intervalFactory */ public function __construct(Algorithm $algorithm, Resolver $layerResolver, ScopeConfigInterface $scopeConfig, Render $render, IntervalFactory $intervalFactory) { $this->algorithm = $algorithm; $this->layer = $layerResolver->get(); $this->scopeConfig = $scopeConfig; $this->render = $render; $this->intervalFactory = $intervalFactory; }
/** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Customer\Model\Session $session * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param string $connectionName */ public function __construct(\Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Customer\Model\Session $session, \Magento\Store\Model\StoreManagerInterface $storeManager, $connectionName = null) { $this->layer = $layerResolver->get(); $this->session = $session; $this->storeManager = $storeManager; $this->_eventManager = $eventManager; parent::__construct($context, $connectionName); }
/** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Framework\Registry $registry * @param \Ves\Brand\Helper\Data $brandHelper * @param \Ves\Brand\Model\Group $groupModel * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Framework\Registry $registry, \Ves\Brand\Helper\Data $brandHelper, \Ves\Brand\Model\Group $groupModel, array $data = []) { $this->_brandHelper = $brandHelper; $this->_catalogLayer = $layerResolver->get(); $this->_coreRegistry = $registry; $this->_groupModel = $groupModel; parent::__construct($context, $data); }
/** * @param Context $context * @param \Magento\Framework\Data\Helper\PostHelper $postDataHelper * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param CategoryRepositoryInterface $categoryRepository * @param \Magento\Framework\Url\Helper\Data $urlHelper * @param array $data */ public function __construct(\Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, array $data = []) { $this->_catalogLayer = $layerResolver->get(); $this->_postDataHelper = $postDataHelper; $this->categoryRepository = $categoryRepository; $this->urlHelper = $urlHelper; parent::__construct($context, $data); }
/** * Get current Category from catalog layer * * @return \Magento\Catalog\Model\Category */ private function getCurrentCategory() { $catalogLayer = $this->layerResolver->get(); if (!$catalogLayer) { return null; } return $catalogLayer->getCurrentCategory(); }
/** * Process redirect to the product page if this is the only search result. * * @param Observer $observer The observer * @event controller_action_postdispatch_catalogsearch_result_index * * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { if ($this->scopeConfig->isSetFlag(self::REDIRECT_SETTINGS_CONFIG_XML_FLAG)) { $layer = $this->layerResolver->get(); $layerState = $layer->getState(); if (count($layerState->getFilters()) === 0) { $productCollection = $layer->getProductCollection(); if ($productCollection->getCurPage() === 1 && $productCollection->getSize() === 1) { /** @var \Magento\Catalog\Api\Data\ProductInterface $product */ $product = $productCollection->getFirstItem(); if ($product->getId()) { $this->addRedirectMessage($product); $observer->getControllerAction()->getResponse()->setRedirect($product->getProductUrl()); } } } } }
/** * Facets constructor. * @param \Magento\Framework\View\Element\Template\Context $context * @param \Boxalino\Intelligence\Helper\P13n\Adapter $p13nHelper * @param \Boxalino\Intelligence\Helper\Data $bxHelperData * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Boxalino\Intelligence\Helper\P13n\Adapter $p13nHelper, \Boxalino\Intelligence\Helper\Data $bxHelperData, \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Psr\Log\LoggerInterface $logger, array $data = []) { parent::__construct($context, $data); $this->_logger = $logger; $this->p13nHelper = $p13nHelper; $this->layer = $layerResolver->get(); $this->objectManager = $objectManager; $this->bxHelperData = $bxHelperData; }
/** * @param Algorithm $algorithm * @param Resolver $layerResolver * @param ScopeConfigInterface $scopeConfig * @param Render $render * @param Registry $coreRegistry * @param Price $resource * @param Range $range */ public function __construct(Algorithm $algorithm, Resolver $layerResolver, ScopeConfigInterface $scopeConfig, Render $render, Registry $coreRegistry, Price $resource, Range $range) { $this->algorithm = $algorithm; $this->layer = $layerResolver->get(); $this->scopeConfig = $scopeConfig; $this->render = $render; $this->coreRegistry = $coreRegistry; $this->range = $range; $this->resource = $resource; }
/** * State constructor. * @param \Boxalino\Intelligence\Helper\P13n\Adapter $p13nHelper * @param \Boxalino\Intelligence\Helper\Data $bxHelperData * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Framework\Registry $registry * @param \Magento\Catalog\Block\Category\View $categoryViewBlock * @param array $data */ public function __construct(\Boxalino\Intelligence\Helper\P13n\Adapter $p13nHelper, \Boxalino\Intelligence\Helper\Data $bxHelperData, \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Framework\Registry $registry, \Magento\Catalog\Block\Category\View $categoryViewBlock, \Psr\Log\LoggerInterface $logger, array $data = []) { $this->_logger = $logger; $this->_categoryViewBlock = $categoryViewBlock; $this->_layer = $layerResolver->get(); $this->bxHelperData = $bxHelperData; $this->_data = $data; $this->p13nHelper = $p13nHelper; $this->objectManager = $objectManager; parent::__construct($data); }
/** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory * @param \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Framework\App\Http\Context $httpContext * @param \Magento\Catalog\Helper\Category $catalogCategory * @param \Magento\Framework\Registry $registry * @param \Magento\Catalog\Model\Indexer\Category\Flat\State $flatState * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\CategoryFactory $categoryFactory, \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Framework\App\Http\Context $httpContext, \Magento\Catalog\Helper\Category $catalogCategory, \Magento\Framework\Registry $registry, \Magento\Catalog\Model\Indexer\Category\Flat\State $flatState, array $data = []) { $this->_productCollectionFactory = $productCollectionFactory; $this->_catalogLayer = $layerResolver->get(); $this->httpContext = $httpContext; $this->_catalogCategory = $catalogCategory; $this->_registry = $registry; $this->flatState = $flatState; $this->_categoryInstance = $categoryFactory->create(); parent::__construct($context, $data); }
/** * @param \Magento\Framework\Registry $registry * @param Resource\Category $categoryResource * @param Resource\Product $catalogProduct * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param Layer\Resolver $layerResolver * @param \Magento\Catalog\Helper\Category $catalogCategory * @param \Magento\Catalog\Helper\Data $catalogData * @param Indexer\Category\Flat\State $categoryFlatState * @param Resource\ProductFactory $productResourceFactory */ public function __construct(\Magento\Framework\Registry $registry, \Magento\Catalog\Model\Resource\Category $categoryResource, \Magento\Catalog\Model\Resource\Product $catalogProduct, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Catalog\Helper\Category $catalogCategory, \Magento\Catalog\Helper\Data $catalogData, \Magento\Catalog\Model\Indexer\Category\Flat\State $categoryFlatState, \Magento\Catalog\Model\Resource\ProductFactory $productResourceFactory) { $this->_registry = $registry; $this->_categoryResource = $categoryResource; $this->_catalogProduct = $catalogProduct; $this->_storeManager = $storeManager; $this->_catalogLayer = $layerResolver->get(); $this->_catalogCategory = $catalogCategory; $this->_catalogData = $catalogData; $this->categoryFlatConfig = $categoryFlatState; $this->_productResourceFactory = $productResourceFactory; }
public function __construct(\Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, ProductRepositoryInterface $productRepository, SearchCriteriaInterface $searchCriteria, FilterGroup $searchCriteriaGroup, array $data = []) { $this->_catalogLayer = $layerResolver->get(); $this->_postDataHelper = $postDataHelper; $this->categoryRepository = $categoryRepository; $this->urlHelper = $urlHelper; $this->_productRepository = $productRepository; // new injection $this->_searchCriteria = $searchCriteria; // new injection $this->_searchCriteriaGroup = $searchCriteriaGroup; // new injection parent::__construct($context, $data); }
/** * Returns array of items loaded through ajax. * * @return array */ private function getItems() { $items = []; $layer = $this->layerResolver->get(); $filterList = $this->getFilterList(); foreach ($filterList->getFilters($layer) as $filter) { if ($filter->getRequestVar() == $this->getFilterName()) { foreach ($filter->getItems() as $item) { $item->setBaseUrl($this->_redirect->getRedirectUrl()); $items[] = $item->toArray(['url', 'count', 'is_selected', 'label']); } } } return $items; }
/** * List of indexes * * @return array */ public function getIndexes() { $indexes = $this->dataHelper->getEnabledIndexes(); foreach ($indexes as $index) { $indexClass = '\\Mirasvit\\Search\\Model\\Index'; if ($index instanceof $indexClass) { $index->setData('search_collection', $index->getSearchCollection()); } else { /** @var \Magento\Framework\DataObject $index */ if ($index->getData('code') == 'catalogsearch_fulltext') { $index->setData('search_collection', $this->layerResolver->get()->getProductCollection()); } elseif ($index->getData('code') == 'magento_search_query') { $index->setData('search_collection', $this->queryCollectionFactory->create()->setQueryFilter($this->query->getQueryText())->addFieldToFilter('query_text', ['neq' => $this->query->getQueryText()])->addStoreFilter([$this->storeManager->getStore()->getId()])->setOrder('popularity')->distinct(true)); } } } return $indexes; }
/** * {@inheritdoc} */ protected function buildSearchCollection() { /** @var \Magento\Catalog\Model\Layer\Search $layer */ $layer = $this->layerResolver->get(); if ($this->config->isMultiStoreModeEnabled()) { $originalCategory = $layer->getData('current_category'); // set random category for multi-store mode // this mode can be not compatible with some layered navigation $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $category = $objectManager->create('Magento\\Catalog\\Model\\Category'); $category->setId(rand(100000, 900000)); $layer->setData('current_category', $category); } $collection = $layer->getProductCollection(); if ($this->config->isMultiStoreModeEnabled()) { $layer->setData('current_category', $originalCategory); } return $collection; }
/** * Set the default template for page variable blocks * * @param Template\Context $context The template context * @param \Magento\Framework\Json\Helper\Data $jsonHelper The Magento's JSON Helper * @param \Smile\ElasticsuiteTracker\Helper\Data $trackerHelper The Smile Tracker helper * @param \Magento\Framework\Registry $registry Magento Core Registry * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver The Magento layer resolver * @param array $data The block data */ public function __construct(Template\Context $context, \Magento\Framework\Json\Helper\Data $jsonHelper, \Smile\ElasticsuiteTracker\Helper\Data $trackerHelper, \Magento\Framework\Registry $registry, \Magento\Catalog\Model\Layer\Resolver $layerResolver, array $data = []) { $this->catalogLayer = $layerResolver->get(); parent::__construct($context, $jsonHelper, $trackerHelper, $registry, $data); }
/** * @return array */ public function getPriceRange() { $currentCategory = $this->registry->registry('current_category_filter') ?: $this->layerResolver->get()->getCurrentCategory(); return $currentCategory->getFilterPriceRange(); }
/** * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory * @param \Magento\Catalog\Model\Product\Visibility $visibility */ public function __construct(\Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory, \Magento\Catalog\Model\Product\Visibility $visibility) { $this->catalogLayer = $layerResolver->get(); $this->collectionFactory = $collectionFactory; $this->visibility = $visibility; }
/** * FilterableAttributeList constructor * * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver */ public function __construct(\Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Model\Layer\Resolver $layerResolver) { $this->collectionFactory = $collectionFactory; $this->storeManager = $storeManager; $this->layer = $layerResolver->get(); }
/** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver * @param array $data */ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Layer\Resolver $layerResolver, array $data = []) { $this->_catalogLayer = $layerResolver->get(); parent::__construct($context, $data); }
/** * @param Resource $resource * @param ScopeResolverInterface $scopeResolver * @param Resolver $layerResolver */ public function __construct(Resource $resource, ScopeResolverInterface $scopeResolver, Resolver $layerResolver) { $this->resource = $resource; $this->scopeResolver = $scopeResolver; $this->layer = $layerResolver->get(); }
/** * BxDataBuilder constructor. * @param \Boxalino\Intelligence\Helper\Data $bxDataHelper */ public function __construct(\Boxalino\Intelligence\Helper\Data $bxDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver) { $this->_layer = $layerResolver->get(); $this->bxDataHelper = $bxDataHelper; }