protected function createConditionsCollection(int $status, int $categoryId) : ConditionsCollection { $conditions = new ConditionsCollection(); $conditions->add(new Eq('status', $status)); $conditions->add(new Eq('category', $categoryId)); return $conditions; }
/** * Adds the search conditions to query * * @param ConditionsCollection $conditions * * @return ConditionsCollection */ public function addSearchConditions(ConditionsCollection $conditions) { $requestHelper = $this->getRequestHelper(); $phrase = $requestHelper->getAttributesBagParam('phrase'); $query = new SimpleQuery($phrase); $identifiers = $this->provider->searchProducts($query)->getResultIdentifiers(); $conditions->add(new In('id', $identifiers)); return $conditions; }
/** * Return additional conditions for QueryBuilder * * @return ConditionsCollection */ public function getStatusConditions($status = null) { if (null === $status) { $status = $this->getProductStatusContext()->getCurrentProductStatusIdentifier(); } $conditions = new ConditionsCollection(); $conditions->add(new Eq('status', $status)); return $conditions; }
/** * @return ConditionsCollection */ protected function getConditions() { $wishlist = $this->manager->getClient()->getWishlist(); $productIds = []; $wishlist->map(function (WishlistInterface $Wishlist) use(&$productIds) { $productIds[] = $Wishlist->getProduct()->getId(); }); $conditions = new ConditionsCollection(); $conditions->add(new In('id', $productIds)); return $conditions; }
/** * Adds additional conditions to request * * @param array $params * @param ConditionsCollection $conditions * * @return ConditionsCollection */ public function resolveConditions($params, ConditionsCollection $conditions) { if (is_array($params)) { foreach ($params as $where) { list($column, $operator, $value) = $this->parseParam($where); $factory = new ConditionFactory($column, $value); $condition = $factory->createCondition($operator); $conditions->add($condition); } } }
public function addLayeredNavigationConditions(ConditionsCollection $collection) { if (false === $this->isLayeredNavigationEnabled()) { return $collection; } foreach ($this->filters as $parameterName => $configuration) { $currentAttributeValue = $this->getCurrentAttributeValue($parameterName, $configuration['type']); if (!empty($currentAttributeValue)) { $collection->add($this->createFilterCondition($currentAttributeValue, $configuration)); } } return $collection; }
/** * {@inheritdoc} */ public function addLayeredNavigationConditions(ConditionsCollection $collection) { if (false === $this->isLayeredNavigationEnabled()) { return $collection; } $priceFrom = $this->getRequestHelper()->getAttributesBagParam('priceFrom'); $priceTo = $this->getRequestHelper()->getAttributesBagParam('priceTo'); $producersIdentifiers = explode(self::MULTIVALUE_SEPARATOR, $this->getRequestHelper()->getAttributesBagParam('producers')); $producers = $this->filterProducers($producersIdentifiers); $collection->add(new Gte('finalPrice', $priceFrom)); $collection->add(new Lte('finalPrice', $priceTo)); if (count($producers)) { $collection->add(new In('producerId', $producers)); } return $collection; }
/** * Adds additional conditions to query * * @param QueryBuilder $queryBuilder * @param ColumnCollection $columns */ protected function setColumnConditions(QueryBuilder $queryBuilder, ColumnCollection $columns) { foreach ($this->conditions->all() as $condition) { $column = $columns->get($condition->getIdentifier()); $this->addColumnConditionToQueryBuilder($queryBuilder, $column, $condition); } }
private function getCurrentCategoryConditions() { $conditions = new ConditionsCollection(); $conditions->add(new Eq('category', $this->getCategoryStorage()->getCurrentCategoryIdentifier())); return $conditions; }
/** * Returns a dataset of products recommended for category * * @param CategoryInterface $category * * @return array */ public function getProductRecommendationsForCategory(CategoryInterface $category) { $conditions = new ConditionsCollection(); $conditions->add(new Eq('category', $category->getId())); return $this->dataset->getResult('datagrid', ['limit' => 3, 'order_by' => 'name', 'order_dir' => 'asc', 'conditions' => $conditions]); }
/** * @return ConditionsCollection */ protected function getCurrentProducerConditions() : ConditionsCollection { $conditions = new ConditionsCollection(); $conditions->add(new Eq('producerId', $this->getProducerStorage()->getCurrentProducerIdentifier())); return $conditions; }
protected function createConditionsCollection(ProductStatusInterface $status) : ConditionsCollection { $conditions = new ConditionsCollection(); $conditions->add(new Eq('status', $status->getId())); return $conditions; }
/** * Returns a collection of dynamic conditions * * @return ConditionsCollection */ public function getCurrentProducerConditions() { $conditions = new ConditionsCollection(); $conditions->add(new Eq('producerId', $this->getProducerContext()->getCurrentProducerIdentifier())); return $conditions; }