jay-kay Posted November 12, 2009 Posted November 12, 2009 How to make work Option Types v2 togehter with Options Price Update Due to german rules for online trade i have to update the price of an article after someone has changed some options. In my shop to be builded i have 2 different options 1.) simple dropdown - e.g. do you want the cards sold to be printet on one side or on both - an Options Price Update will immediatele change the total price due to the amount stated in database 2.) dropdown with picture - e.g. do you want the imprint in black only or do you want to add some red or green. The colours are shown in an example-text as soon as you pick them from an dropdownlist. but in that case the price will not be updatet - or worse, it will change to zero - 0,00 EUR. (thats too cheap :( ) As i already learned, the first case is handled in the product_info.php, the second in the module option_types.php. The only change i made in this module was in the line 167 as follows: $ImageSelector_Dropdown = '<select name="' . $Image_Dropdown_ID . '" onchange="document.getElementById(\'ImageSelect' . $product_info['products_id'] . '\').innerHTML=ImageText'.$product_info['products_id'].'[this.selectedIndex];showPrice(this.form);showPrice1(this.form);">' . $Image_Dropdown[$product_info['products_id']] . '</select> ' . $ProdOpt_Comment; without that - price will be always that of default option, after changing, an option with no addiditonal price will work correctly, with an extra price it will change to zero The product_info.php reads as follows: <?php /* $Id: product_info.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO); $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_check = tep_db_fetch_array($product_check_query); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <!--comment to remove style sheet as referenced below <link rel="stylesheet" type="text/css" href="stylesheet.css"> end comment --> <script language="javascript"><!-- function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150') } // BOF - Zappo - Option Types v2 - Added for Form Field Progress Bar function textCounter(field,counter,maxlimit,linecounter) { // text width// var fieldWidth = parseInt(field.offsetWidth); var charcnt = field.value.length; var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ; if (linecounter) { document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px"; document.getElementById(linecounter).style.width = parseInt(fieldWidth)+"px"; document.getElementById(counter).innerHTML="<nobr>Max: "+percentage+"% - ("+charcnt+"/"+maxlimit+")</nobr>"; } else { // trim the extra text if (charcnt > maxlimit) { field.value = field.value.substring(0, maxlimit); } else { // progress bar percentage document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px"; document.getElementById(counter).innerHTML="<nobr>Max: "+percentage+"% - ("+charcnt+"/"+maxlimit+")</nobr>"; // color correction on style from CCFFF -> CC0000 document.getElementById(counter).style["background-color"] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)"; } } } // EOF - Zappo - Option Types v2 - Added for Form Field Progress Bar // BEGINN ATRIBUT Price Update function FormatNumber(num) { if(isNaN(num)) { num = "0"; } sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) { cents = "0" + cents; } for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) { num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); } return (((sign)?'':'-') + num + '.' + cents); } function FormatNumber1(num) { if(isNaN(num)) { num = "0"; } sign = (num == (num = Math.abs(num))); num = Math.floor(num*1+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) { cents = "0" + cents; } for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) { num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); } return (((sign)?'':'-') + num + ',' + cents); } function showPrice(form) { var currencysymbol1 = ""; var currencysymbol2 = ""; var myTotalPrice = 0; var showUP = 0; var myMathProblem = ""; myItemPrice = parseFloat(form.nuPrice.value); myDollarSign2 = form.nuPrice.value.indexOf("EUR",0) if ( myDollarSign2 != "-1" ) { currencysymbol1 = ""; currencysymbol2 = " EUR"; } else { currencysymbol1 = "$"; currencysymbol2 = ""; } for (var i = 0; i < form.elements.length; i++) { var e = form.elements[i]; if ( e.type == 'select-one' ) { showUP = 1; Item = e.selectedIndex; myPrice = e.options[item].text; myDollarSign = myPrice.indexOf("$",0) if ( myDollarSign != "-1" ) { currencysymbol1 = "$"; currencysymbol2 = ""; myParSign = myPrice.indexOf(")", myDollarSign); myAttributeString = myPrice.substring(myDollarSign+1, myParSign); myAttributeString = myAttributeString.replace(/,/,""); myAttributePrice = parseFloat(myAttributeString); myMathProblem = myPrice.charAt(myDollarSign - 1); } else { myDollarSign1 = myPrice.indexOf("(",0) if ( myDollarSign1 != "-1" ) { currencysymbol1 = ""; currencysymbol2 = " EUR"; myParSign = myPrice.indexOf(")", myDollarSign1); myAttributeString = myPrice.substring(myDollarSign1+1, myParSign); myAttributeString = myAttributeString.replace(/,/,""); myAttributePrice = parseFloat(myAttributeString); myMathProblem = myPrice.charAt(myDollarSign1 - 1); } else { myAttributePrice = 0; } } if (myMathProblem == "-") { myTotalPrice = myTotalPrice - myAttributePrice; } else { myTotalPrice = myTotalPrice + myAttributePrice; } } } if ( showUP ) { myDollarSign3 = form.nuPrice.value.indexOf(".",0) if ( myDollarSign3 != "-1" ) { myTotalPrice = FormatNumber(myTotalPrice + myItemPrice); } else { myTotalPrice = FormatNumber1(myTotalPrice + myItemPrice); } document.getElementById("productNEWprice").innerHTML = currencysymbol1 + myTotalPrice + currencysymbol2; } } function showPrice1(form) { var currencysymbol1 = ""; var currencysymbol2 = ""; var myTotalPrice = 0; var showUP = 0; var myMathProblem = ""; myItemPrice = parseFloat(form.nuPrice1.value); myDollarSign2 = form.nuPrice1.value.indexOf("EUR",0) if ( myDollarSign2 != "-1" ) { currencysymbol1 = ""; currencysymbol2 = " EUR"; } else { currencysymbol1 = "$"; currencysymbol2 = ""; } for (var i = 0; i < form.elements.length; i++) { var e = form.elements[i]; if ( e.type == 'select-one' ) { showUP = 1; Item = e.selectedIndex; myPrice = e.options[item].text; myDollarSign = myPrice.indexOf("$",0) if ( myDollarSign != "-1" ) { currencysymbol1 = "$"; currencysymbol2 = ""; myParSign = myPrice.indexOf(")", myDollarSign); myAttributeString = myPrice.substring(myDollarSign+1, myParSign); myAttributeString = myAttributeString.replace(/,/,""); myAttributePrice = parseFloat(myAttributeString); myMathProblem = myPrice.charAt(myDollarSign - 1); } else { myDollarSign1 = myPrice.indexOf("(",0) if ( myDollarSign1 != "-1" ) { currencysymbol1 = ""; currencysymbol2 = " EUR"; myParSign = myPrice.indexOf(")", myDollarSign1); myAttributeString = myPrice.substring(myDollarSign1+1, myParSign); myAttributeString = myAttributeString.replace(/,/,""); myAttributePrice = parseFloat(myAttributeString); myMathProblem = myPrice.charAt(myDollarSign1 - 1); } else { myAttributePrice = 0; } } if (myMathProblem == "-") { myTotalPrice = myTotalPrice - myAttributePrice; } else { myTotalPrice = myTotalPrice + myAttributePrice; } } } if ( showUP ) { myDollarSign3 = form.nuPrice1.value.indexOf(".",0) if ( myDollarSign3 != "-1" ) { myTotalPrice = FormatNumber(myTotalPrice + myItemPrice); } else { myTotalPrice = FormatNumber1(myTotalPrice + myItemPrice); } document.getElementById("productNEWprice1").innerHTML = currencysymbol1 + myTotalPrice + currencysymbol2; } } // ENDE ATTRIBUT PRICE UPDATE //--></script> <?php /* stylesheets */ if (file_exists(DIR_WS_INCLUDES . 'header_css.php')) { require(DIR_WS_INCLUDES . 'header_css.php'); } else { echo '<link rel="stylesheet" type="text/css" href="stylesheet.css">' . "\n"; } ?> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <!--//BOF - Zappo - Option Types v2 - Added for File upload: 'enctype="multipart/form-data"' //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product'), 'post', 'enctype="multipart/form-data"'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><?php echo $messageStack->output('upload'); ?></td> </tr> <?php //EOF - Zappo - Option Types v2 - Added for File upload: 'enctype="multipart/form-data"' if ($product_check['total'] < 1) { ?> <tr> <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); // insgesamt 4 Zeiten mit nuPrice eingefügt - 11.11.09 - jk wg AttribPriceUpdate if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; //Attrib price update $nuPrice1 = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); $nuPrice = $currencies->display_price($new_price, tep_get_tax_rate($product_info_values['products_tax_class_id'])); //Attrib price update Fin } else { //Attrib price update $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); $nuPrice = $products_price; } $nuPrice = str_replace(",", "", $nuPrice); $nuPrice1 = str_replace(",", "", $nuPrice1); //Attrib price update Fin /* $nuPrice1 = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); $nuPrice = $currencies->display_price($new_price, tep_get_tax_rate($product_info_values['products_tax_class_id'])); } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); $nuPrice = $products_price; } $nuPrice = str_replace(",", "", $nuPrice); ### Add this line! Ende der 4 Zeilen wg AttribPriceUpdate */ if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>'; } else { $products_name = $product_info['products_name']; } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading" valign="top"><?php echo $products_name; ?></td> <!--// <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td> <td class="pageHeading" align="right" valign="top"> <!-- price update attributes begin --> <?php if(tep_has_product_attributes($product_info['products_id'])){ if ($new_price = tep_get_products_special_price($product_info['products_id'])) { ?> <script type="text/javascript">document.write('<s><div id="productNEWprice1"></div>\n</s>');</script> <script type="text/javascript">document.write('<span class="productSpecialPrice"><div id="productNEWprice"></div>\n</span>');</script> <noscript><td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></noscript> <?php } else {?> <script type="text/javascript">document.write('<div id="productNEWprice"></div>\n</span>');</script> <noscript><td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></noscript> <?php } } else { <td class="pageHeading" align="right" valign="top"> . echo $products_price; } ?> </td> <input type="hidden" name="nuPrice" value="<?php echo str_replace("$","",$nuPrice); ?>"> <input type="hidden" name="nuPrice1" value="<?php echo str_replace("$","",$nuPrice1); ?>"> <!-- price update attributes end --> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"> <?php if (tep_not_null($product_info['products_image'])) { ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="smallText"> <script language="javascript"><!-- document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH*2, SMALL_IMAGE_HEIGHT*2, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>'); //--></script> <noscript> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH*2, SMALL_IMAGE_HEIGHT*2, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </noscript> </td> </tr> </table> <?php } ?> <p><?php echo stripslashes($product_info['products_description']); ?></p> <?php //BOF - Zappo - Option Types v2 - ONE LINE - Initialize $number_of_uploads $number_of_uploads = 0; $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td> </tr> <?php //BOF - Zappo - Option Types v2 - Add extra Option Values to Query && Placed Options in new file: option_types.php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name, popt.products_options_type, popt.products_options_length, popt.products_options_comment, popt.products_options_order from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$product_info['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_order, popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { // - Zappo - Option Types v2 - Include option_types.php - Contains all Option Types, other than the original Drowpdown... include(DIR_WS_MODULES . 'option_types.php'); if ($Default == true) { // - Zappo - Option Types v2 - Default action is (standard) dropdown list. If something is not correctly set, we should always fall back to the standard. $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$ProdOpt_ID . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $ProdOpt_Name . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $ProdOpt_ID . ']', $products_options_array, $selected_attribute, "onChange='showPrice(this.form);showPrice1(this.form);'");?></td> </tr><?php } // End if Default=true } //EOF - Zappo - Option Types v2 - Add extra Option Values to Query && Placed Options in new file: option_types.php ?> </table> <?php } ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); if ($reviews['count'] > 0) { ?> <tr> <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (tep_not_null($product_info['products_url'])) { ?> <tr> <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td> </tr> <?php } else { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td> <td class="main" align="right"><?php echo TEXT_QUANTITY . tep_draw_input_field('quantity', '1', 'SIZE=3 maxlength=3') . tep_draw_separator('pixel_trans.gif', '5', '1') . tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART, 'align=absmiddle'); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php include(DIR_WS_MODULES . FILENAME_RELATED_PRODUCTS); ?> <tr> <td> <?php if ((USE_CACHE == 'true') && empty($SID)) { echo tep_cache_also_purchased(3600); } else { include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } } //BOF - Zappo - Option Types v2 - File Uploading: Hidden field passing number of uploads to next file ?> </td> </tr> <tr> <td><?php echo tep_draw_hidden_field('number_of_uploads', $number_of_uploads); ?></td> </tr> </table></form></td> <?php //EOF - Zappo - Option Types v2 - File Uploading: Hidden field passing number of uploads to next file ?> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> <script language="javascript"> <!-- showPrice(cart_quantity); showPrice1(cart_quantity); //--> </script> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> what can be the reason? :blink: Quote
lux_interior Posted January 21, 2010 Posted January 21, 2010 Hi, I've just installed both of these contribs, and whenever a product has attributes added to it through Option Types v2, it's not displaying a price at all - it disappears off the screen... Here's the code I'm using to display the price - it's straight from the contrib Options - Price Update (but i'm using it in a div tag not a table - is that the prob?)... Or am i just not referenceing the Option Types attributes correctly? I;ve been through and made all the bug fix changes from the Options - Price Update page... Any help would be appreciated!!! <!-- price update attributes begin --> <?php if(tep_has_product_attributes($product_info['products_id'])){ if ($new_price = tep_get_products_special_price($product_info['products_id'])) { ?> <script type="text/javascript">document.write('<s><div id="productNEWprice1"></div>\n</s>');</script> <script type="text/javascript">document.write('<span class="productSpecialPrice"><div id="productNEWprice"></div>\n</span>');</script> <noscript><?php echo $products_price; ?></noscript> <?php } else {?> <script type="text/javascript">document.write('<div id="productNEWprice"></div>\n</span>');</script> <noscript><?php echo $products_price; ?></noscript> <?php } } else { echo $products_price; } ?></div> <input type="hidden" name="nuPrice" value="<?php echo str_replace("$","",$nuPrice); ?>"> <input type="hidden" name="nuPrice1" value="<?php echo str_replace("$","",$nuPrice1); ?>"> <!-- price update attributes end --> Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.