mountainhope Posted January 25, 2008 Report Share Posted January 25, 2008 Hallo, ich habe folgendes Problem. Wir sind Uhren-Grosshändler und haben einen XT-Shop erstellt. Hier sollen Staffelpreise angelegt werden. Für 1 Stück gibt es normalerweise keinen Preis! erst ab 50 Stück. Jetzt habe ich das Problem, dass ich in den Staffeldaten trotz richtig angelegter Staffelpreise immer 1 Stck zum Preis von 0,00 Euro angezeigt werden. Siehe Link: http://www.clockworx.de/xts/product_info.php?info=p637_Modell-1930-DUK-Doppeldatum.html Die Zeile 1 Stck soll entweder unterdrückt oder gar nicht erst aufgerufen werden. Ich habe mich bereits mit allen möglichen Versuchen durch die produkt.php und die graduated_prices.php gequält: Hier der entsprechende Code aus der produkt.php: function getGraduated() { global $xtPrice; $staffel_query = xtDBquery("SELECT quantity, personal_offer FROM ".TABLE_PERSONAL_OFFERS_BY.(int) $_SESSION['customers_status']['customers_status_id']." WHERE products_id = '".$this->pID."' ORDER BY quantity ASC"); $staffel = array (); while ($staffel_values = xtc_db_fetch_array($staffel_query, true)) { $staffel[] = array ('stk' => $staffel_values['quantity'], 'price' => $staffel_values['personal_offer']); } $staffel_data = array (); for ($i = 0, $n = sizeof($staffel); $i < $n; $i ++) { if ($staffel[$i]['stk'] == 1) { $quantity = $staffel[$i]['stk']; if ($staffel[$i +1]['stk'] != '') $quantity = $staffel[$i]['stk']; } else { $quantity = $staffel[$i]['stk']; if ($staffel[$i +1]['stk'] != '') $quantity = $staffel[$i]['stk']; } $vpe = ''; if ($product_info['products_vpe_status'] == 1 && $product_info['products_vpe_value'] != 0.0 && $staffel[$i]['price'] > 0) { $vpe = $staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount; $vpe = $vpe * (1 / $product_info['products_vpe_value']); $vpe = $xtPrice->xtcFormat($vpe, true, $product_info['products_tax_class_id']).TXT_PER.xtc_get_vpe_name($product_info['products_vpe']); } $staffel_data[$i] = array ('QUANTITY' => $quantity, 'VPE' => $vpe, 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id'])); } return $staffel_data; }[/PHP] Hier der Code aus der graduated_prices.php: [PHP]$module_smarty = new Smarty; $module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/'); $module_content = array (); $staffel_data = $product->getGraduated(); if (sizeof($staffel_data) > 1) { $module_smarty->assign('language', $_SESSION['language']); $module_smarty->assign('module_content', $staffel_data); // set cache ID $module_smarty->caching = 0; $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/graduated_price.html'); $info_smarty->assign('MODULE_graduated_price', $module); }[/PHP] Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.