jay-kay Posted November 12, 2009 Share 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 Link to comment Share on other sites More sharing options...
lux_interior Posted January 21, 2010 Share 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 Link to comment Share on other sites More sharing options...
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.