Exemple #1
0
 /**
  * {@inheritDoc}
  */
 public function getNewChildSelectOptions()
 {
     $productAttributes = $this->productConditionFactory->create()->loadAttributeOptions()->getAttributeOption();
     $attributes = [];
     $productConditionType = get_class($this->productConditionFactory->create());
     foreach ($productAttributes as $code => $label) {
         $attributes[] = ['value' => $productConditionType . '|' . $code, 'label' => $label];
     }
     $conditions = parent::getNewChildSelectOptions();
     $conditions = array_merge_recursive($conditions, [['value' => $this->getType(), 'label' => __('Conditions Combination')], ['label' => __('Product Attribute'), 'value' => $attributes]]);
     return $conditions;
 }
Exemple #2
0
 /**
  * Transform a category in query rule.
  *
  * @param CategoryInterface $category Category.
  *
  * @return QueryInterface
  */
 private function getStandardCategoryQuery(CategoryInterface $category)
 {
     $conditionsParams = ['data' => ['attribute' => 'category_ids', 'operator' => '()', 'value' => $category->getId()]];
     $categoryCondition = $this->productConditionsFactory->create($conditionsParams);
     return $this->queryBuilder->getSearchQuery($categoryCondition);
 }