Ejemplo n.º 1
0
 /**
  * Retrieve the cart rule product rule groups in the POST data
  * if available, and in the database if there is none
  *
  * @param CartRule $cart_rule
  *
  * @return array
  */
 public function getProductRuleGroupsDisplay($cart_rule)
 {
     $productRuleGroupsArray = array();
     if (Tools::getValue('product_restriction') && is_array($array = Tools::getValue('product_rule_group')) && count($array)) {
         $i = 1;
         foreach ($array as $ruleGroupId) {
             $productRulesArray = array();
             if (is_array($array = Tools::getValue('product_rule_' . $ruleGroupId)) && count($array)) {
                 foreach ($array as $ruleId) {
                     $productRulesArray[] = $this->getProductRuleDisplay($ruleGroupId, $ruleId, Tools::getValue('product_rule_' . $ruleGroupId . '_' . $ruleId . '_type'), Tools::getValue('product_rule_select_' . $ruleGroupId . '_' . $ruleId));
                 }
             }
             $productRuleGroupsArray[] = $this->getProductRuleGroupDisplay($i++, (int) Tools::getValue('product_rule_group_' . $ruleGroupId . '_quantity'), $productRulesArray);
         }
     } else {
         $i = 1;
         foreach ($cart_rule->getProductRuleGroups() as $productRuleGroup) {
             $j = 1;
             $productRulesDisplay = array();
             foreach ($productRuleGroup['product_rules'] as $id_product_rule => $productRule) {
                 $productRulesDisplay[] = $this->getProductRuleDisplay($i, $j++, $productRule['type'], $productRule['values']);
             }
             $productRuleGroupsArray[] = $this->getProductRuleGroupDisplay($i++, $productRuleGroup['quantity'], $productRulesDisplay);
         }
     }
     return $productRuleGroupsArray;
 }