Beispiel #1
0
                 $param1 = $row['name'];
                 break;
             case 1:
                 $request_attr_2 = $row['id_attribute'];
                 break;
             case 2:
                 $request_attr_3 = $row['id_attribute'];
                 break;
         }
         $counter++;
     }
 }
 //	Get price changes
 $more_attributes_price = 0;
 if (count($more_attributes)) {
     $more_attributes_price = get_moreAttributesPrice($more_attributes, $request_product);
 }
 //	Get the group reduction
 $group_reduction = 1;
 $group_id = 0;
 if (isset($cookie->id_customer)) {
     $group_id = Customer::getDefaultGroupId($cookie->id_customer);
     $groupReduction = GroupReduction::getValueForProduct($request_product, $group_id);
     if (!$groupReduction) {
         $group_reduction -= floatval(Group::getReduction($cookie->id_customer)) / 100;
     } else {
         $group_reduction -= floatval($groupReduction);
     }
 }
 $more_attributes_price *= $group_reduction;
 //	If other return only the attributes price
Beispiel #2
0
     $productGroupReduction = GroupReduction::getValueForProduct($idProduct, $groupId);
     if (!$productGroupReduction) {
         $groupReduction -= floatval(Group::getReduction((int) $cookie->id_customer)) / 100;
     } else {
         $groupReduction -= floatval($productGroupReduction);
     }
 }
 //	Get the product price with attributes but the multidimensionnals attributes (including taxes)
 $more_tmp = array();
 $more_attributes_price = 0;
 $more_attributes = DB::getInstance()->ExecuteS('SELECT pac.id_attribute FROM ' . _DB_PREFIX_ . 'attribute_lang AS lang LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute_combination AS pac ON lang.id_attribute = pac.id_attribute' . ' LEFT JOIN ' . _DB_PREFIX_ . 'attribute AS attribute ON lang.id_attribute = attribute.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute AS pa ON pac.id_product_attribute = pa.id_product_attribute' . ' WHERE pa.id_product = ' . $idProduct . ' AND pa.id_product_attribute = ' . $idProductAttribute . ' AND lang.id_lang = ' . (int) $cookie->id_lang . ' AND attribute.id_attribute_group NOT IN (' . implode(', ', $dimensions) . ')');
 if (count($more_attributes)) {
     foreach ($more_attributes as $more_attribute) {
         $more_tmp[] = $more_attribute['id_attribute'];
     }
     $more_attributes_price = get_moreAttributesPrice($more_tmp, $idProduct);
 }
 $product_price = $base_price + $more_attributes_price * $groupReduction * $taxes;
 //	Get the dimensions
 $dimensions_result = DB::getInstance()->ExecuteS('SELECT attribute.id_attribute_group, lang.name FROM ' . _DB_PREFIX_ . 'attribute_lang AS lang LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute_combination ' . 'AS pac ON lang.id_attribute = pac.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'attribute AS attribute ON lang.id_attribute = attribute.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute ' . 'AS pa ON pac.id_product_attribute = pa.id_product_attribute WHERE pa.id_product = ' . $idProduct . ' AND pa.id_product_attribute = ' . $idProductAttribute . ' AND lang.id_lang = ' . (int) $cookie->id_lang . ' AND attribute.id_attribute_group IN (' . implode(', ', $dimensions) . ')');
 //	Set the surface
 $real_dimensions = array();
 $counter = 2;
 $surface = 1;
 foreach ($dimensions_result as $dimension) {
     $scale_value = get_scale($scales[$dimension['id_attribute_group']]);
     //	Update width or height depending on steps
     $step_size = floatval($dimension['name']);
     if ($dimension['id_attribute_group'] == Configuration::get('AIMD_FIRST_DIMENSION_ID')) {
         $counter = 0;
         $height_steps = explode(',', Configuration::get('AIMD_HEIGHT_STEPS'));