/** * Return additional conditions for QueryBuilder * * @return ConditionsCollection */ public function getStatusConditions($status = null) { if (null === $status && null !== $this->getProductStatusProvider()->getCurrentProductStatus()) { $status = $this->getProductStatusProvider()->getCurrentProductStatus()->getId(); } $conditions = new ConditionsCollection(); $conditions->add(new Eq('status', (int) $status)); 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->getCollectionBuilder()->getDataSet(['limit' => 3, 'order_by' => 'name', 'order_dir' => 'asc', 'conditions' => $conditions]); }
/** * Returns a collection of dynamic conditions * * @return ConditionsCollection */ public function getCurrentCategoryConditions() { $conditions = new ConditionsCollection(); $conditions->add(new Eq('category', $this->getCurrentCategoryId())); return $conditions; }