/** * @return array */ public function getNewChildSelectOptions() { $productAttributes = $this->productFactory->create()->loadAttributeOptions()->getAttributeOption(); $attributes = []; foreach ($productAttributes as $code => $label) { $attributes[] = ['value' => 'Magento\\CatalogWidget\\Model\\Rule\\Condition\\Product|' . $code, 'label' => $label]; } $conditions = parent::getNewChildSelectOptions(); $conditions = array_merge_recursive($conditions, [['value' => 'Magento\\CatalogWidget\\Model\\Rule\\Condition\\Combine', 'label' => __('Conditions Combination')], ['label' => __('Product Attribute'), 'value' => $attributes]]); return $conditions; }
/** * {@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; }
/** * Get new child select options * * @return array */ public function getNewChildSelectOptions() { $productAttributes = $this->_ruleConditionProd->loadAttributeOptions()->getAttributeOption(); $pAttributes = array(); $iAttributes = array(); foreach ($productAttributes as $code => $label) { if (strpos($code, 'quote_item_') === 0) { $iAttributes[] = array('value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Product|' . $code, 'label' => $label); } else { $pAttributes[] = array('value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Product|' . $code, 'label' => $label); } } $conditions = parent::getNewChildSelectOptions(); $conditions = array_merge_recursive($conditions, array(array('value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Product\\Combine', 'label' => __('Conditions Combination')), array('label' => __('Cart Item Attribute'), 'value' => $iAttributes), array('label' => __('Product Attribute'), 'value' => $pAttributes))); return $conditions; }
/** * Get new child select options * * @return array */ public function getNewChildSelectOptions() { $addressAttributes = $this->_conditionAddress->loadAttributeOptions()->getAttributeOption(); $attributes = []; foreach ($addressAttributes as $code => $label) { $attributes[] = ['value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Address|' . $code, 'label' => $label]; } $conditions = parent::getNewChildSelectOptions(); $conditions = array_merge_recursive($conditions, [['value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Product\\Found', 'label' => __('Product attribute combination')], ['value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Product\\Subselect', 'label' => __('Products subselection')], ['value' => 'Magento\\SalesRule\\Model\\Rule\\Condition\\Combine', 'label' => __('Conditions combination')], ['label' => __('Cart Attribute'), 'value' => $attributes]]); $additional = new \Magento\Framework\Object(); $this->_eventManager->dispatch('salesrule_rule_condition_combine', ['additional' => $additional]); $additionalConditions = $additional->getConditions(); if ($additionalConditions) { $conditions = array_merge_recursive($conditions, $additionalConditions); } return $conditions; }