コード例 #1
0
ファイル: Observer.php プロジェクト: nja78/magento2
 /**
  * Get catalog layer
  * @return \Magento\Catalog\Model\Layer
  */
 private function getCatalogLayer()
 {
     if ($this->_catalogLayer === null) {
         $this->_catalogLayer = $this->layerResolver->get();
     }
     return $this->_catalogLayer;
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
ファイル: Result.php プロジェクト: shabbirvividads/magento2
 /**
  * @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);
 }
コード例 #4
0
ファイル: View.php プロジェクト: pradeep-wagento/magento2
 /**
  * @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);
 }
コード例 #5
0
 /**
  * @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);
 }
コード例 #6
0
 /**
  * @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);
 }
コード例 #7
0
 /**
  * {@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;
 }
コード例 #8
0
 /**
  * @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;
 }
コード例 #9
0
ファイル: Price.php プロジェクト: pradeep-wagento/magento2
 /**
  * @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);
 }
コード例 #10
0
ファイル: View.php プロジェクト: vasuscoin/brand
 /**
  * @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);
 }
コード例 #11
0
 /**
  * @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();
 }
コード例 #13
0
 /**
  * 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());
                 }
             }
         }
     }
 }
コード例 #14
0
ファイル: Facets.php プロジェクト: boxalino/plugin-magento2
 /**
  * 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;
 }
コード例 #15
0
ファイル: Auto.php プロジェクト: pradeep-wagento/magento2
 /**
  * @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;
 }
コード例 #16
0
ファイル: State.php プロジェクト: boxalino/plugin-magento2
 /**
  * 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);
 }
コード例 #17
0
 /**
  * @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);
 }
コード例 #18
0
ファイル: Observer.php プロジェクト: shabbirvividads/magento2
 /**
  * @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;
 }
コード例 #19
0
ファイル: ListProduct.php プロジェクト: mrtuvn/m2ce.dev
 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);
 }
コード例 #20
0
ファイル: Ajax.php プロジェクト: smile-sa/elasticsuite
 /**
  * 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;
 }
コード例 #21
0
ファイル: Result.php プロジェクト: Doability/magento2dev
 /**
  * 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;
 }
コード例 #22
0
ファイル: Index.php プロジェクト: Doability/magento2dev
 /**
  * {@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;
 }
コード例 #23
0
ファイル: Catalog.php プロジェクト: smile-sa/elasticsuite
 /**
  * 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);
 }
コード例 #24
0
ファイル: Range.php プロジェクト: kidaa30/magento2-platformsh
 /**
  * @return array
  */
 public function getPriceRange()
 {
     $currentCategory = $this->registry->registry('current_category_filter') ?: $this->layerResolver->get()->getCurrentCategory();
     return $currentCategory->getFilterPriceRange();
 }
コード例 #25
0
ファイル: Category.php プロジェクト: pradeep-wagento/magento2
 /**
  * @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;
 }
コード例 #26
0
 /**
  * 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();
 }
コード例 #27
0
ファイル: State.php プロジェクト: kidaa30/magento2-platformsh
 /**
  * @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);
 }
コード例 #28
0
 /**
  * @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();
 }
コード例 #29
0
 /**
  * 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;
 }