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')); }
/** * @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()); } }
/** * @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()); }
/** * @param Criteria $criteria * @param FacetInterface[] $facets */ protected function addFacets(Criteria $criteria, $facets) { foreach ($facets as $facet) { $criteria->addFacet($facet); } }