Esempio n. 1
0
 /**
  * @param Request $request
  * @param ShopContextInterface $context
  * @return Criteria
  */
 public function createCriteria(Request $request, ShopContextInterface $context)
 {
     $criteria = $this->criteriaFactory->createListingCriteria($request, $context);
     $criteria->removeBaseCondition('category');
     $criteria->resetFacets();
     $category = $context->getShop()->getCategory()->getId();
     $criteria->addBaseCondition(new CategoryCondition([$category]));
     return $criteria;
 }
Esempio n. 2
0
 /**
  * @param null $categoryId
  * @param SearchBundle\Criteria $criteria
  * @throws Enlight_Exception
  * @return array|bool|mixed
  */
 public function sGetArticlesByCategory($categoryId = null, SearchBundle\Criteria $criteria = null)
 {
     if (Enlight()->Events()->notifyUntil('Shopware_Modules_Articles_sGetArticlesByCategory_Start', array('subject' => $this, 'id' => $categoryId))) {
         return false;
     }
     $context = $this->contextService->getProductContext();
     $request = Shopware()->Container()->get('front')->Request();
     if (!$criteria) {
         $criteria = $this->storeFrontCriteriaFactory->createListingCriteria($request, $context);
     }
     $result = $this->getListing($categoryId, $context, $request, $criteria);
     $result = $this->legacyEventManager->fireArticlesByCategoryEvents($result, $categoryId, $this);
     return $result;
 }