Example #1
0
 public function testUniqueFacet()
 {
     $criteria = new Criteria();
     $criteria->addFacet(new PriceFacet());
     $criteria->addFacet(new PriceFacet());
     $this->assertCount(1, $criteria->getFacets());
 }
 /**
  * @inheritdoc
  */
 public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context)
 {
     if ($request->has('esd')) {
         $criteria->addCondition(new EsdCondition());
     }
     if ($request->get('sSort') == 'random') {
         $criteria->addSorting(new RandomSorting());
     }
     $criteria->addFacet(new EsdFacet());
 }
 public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context)
 {
     $minSales = $request->getParam('minSales', null);
     $maxSales = $request->getParam('maxSales', null);
     if ($minSales || $maxSales) {
         $criteria->addCondition(new SalesCondition($minSales, $maxSales));
     }
     $criteria->addFacet(new SalesFacet());
     if ($request->getParams('sSort') == 'sales') {
         $criteria->resetSorting();
         $criteria->addSorting(new SalesSorting());
     }
 }
 /**
  * @param Request $request
  * @param Criteria $criteria
  * @param ShopContextInterface $context
  */
 public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context)
 {
     $criteria->addFacet(new ProductVariantFacet());
     if (!$this->requestAdapater->hasVariantIds()) {
         return;
     }
     if (!$this->requestAdapater->isMultiDimensional()) {
         return;
     }
     $selectedOptions = $this->requestAdapater->getRequestedVariantIds();
     if (!$selectedOptions) {
         return;
     }
     $criteria->addCondition(new ProductVariantCondition($selectedOptions));
 }
 /**
  * @inheritdoc
  */
 public function handleRequest(Request $request, Criteria $criteria, ShopContextInterface $context)
 {
     /*
      * Checks if the filter is active
      */
     if ($request->has('productAttributesForm')) {
         $params = $request->getParams();
         $searchParams = explode('|', $params['productAttributesForm']);
         $criteria->addCondition(new ProductAttributeCondition('attr1', ProductAttributeCondition::OPERATOR_IN, $searchParams));
     }
     /**
      * adds the attributes facet
      */
     $criteria->addFacet(new ProductAttributeFacet('attr1', ProductAttributeFacet::MODE_VALUE_LIST_RESULT, 'productAttributesForm', 'attributes'));
 }
Example #6
0
 /**
  * @param Criteria $criteria
  */
 public function add(Criteria $criteria)
 {
     $criteria->addFacet(new PriceFacet());
     $criteria->addFacet(new PropertyFacet());
     if (!$criteria->hasBaseCondition('immediate_delivery')) {
         $criteria->addFacet(new ImmediateDeliveryFacet());
     }
     if (!$criteria->hasBaseCondition('manufacturer')) {
         $criteria->addFacet(new ManufacturerFacet());
     }
     if (!$criteria->hasBaseCondition('shipping_free')) {
         $criteria->addFacet(new ShippingFreeFacet());
     }
     if (!$criteria->hasBaseCondition('vote_average')) {
         $criteria->addFacet(new VoteAverageFacet());
     }
 }
Example #7
0
 /**
  * @param Criteria $criteria
  */
 public function add(Criteria $criteria)
 {
     if ($this->config->get('displayFiltersInListings')) {
         $criteria->addFacet(new PropertyFacet());
     }
     if ($this->config->get('showPriceFacet')) {
         $criteria->addFacet(new PriceFacet());
     }
     if (!$criteria->hasBaseCondition('immediate_delivery') && $this->config->get('showImmediateDeliveryFacet')) {
         $criteria->addFacet(new ImmediateDeliveryFacet());
     }
     if (!$criteria->hasBaseCondition('manufacturer') && $this->config->get('showSupplierInCategories')) {
         $criteria->addFacet(new ManufacturerFacet());
     }
     if (!$criteria->hasBaseCondition('shipping_free') && $this->config->get('showShippingFreeFacet')) {
         $criteria->addFacet(new ShippingFreeFacet());
     }
     if (!$criteria->hasBaseCondition('vote_average') && $this->config->get('showVoteAverageFacet')) {
         $criteria->addFacet(new VoteAverageFacet());
     }
 }
 /**
  * @param Criteria $criteria
  */
 private function addFacets(Criteria $criteria)
 {
     if ($this->config->get('showImmediateDeliveryFacet')) {
         $criteria->addFacet(new ImmediateDeliveryFacet());
     }
     if ($this->config->get('showShippingFreeFacet')) {
         $criteria->addFacet(new ShippingFreeFacet());
     }
     if ($this->config->get('showPriceFacet')) {
         $criteria->addFacet(new PriceFacet());
     }
     if ($this->config->get('showVoteAverageFacet')) {
         $criteria->addFacet(new VoteAverageFacet());
     }
     if ($this->config->get('showSupplierInCategories')) {
         $criteria->addFacet(new ManufacturerFacet());
     }
     $criteria->addFacet(new CategoryFacet());
 }
Example #9
0
 /**
  * @param Criteria $criteria
  * @param FacetInterface[] $facets
  */
 protected function addFacets(Criteria $criteria, $facets)
 {
     foreach ($facets as $facet) {
         $criteria->addFacet($facet);
     }
 }