martinmacca Posted June 12, 2004 Share Posted June 12, 2004 Ive got images as options installed & am trying to update the price instantly without refreshing the page. To do this im using options - price update, but cant get the prices to show up when the options are selected. See this pic The subtotal is 0.00 :( Ive followed the install & heres my product_info.php after <?php /* $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $ 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); $custom_computer_check = tep_db_query("select products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $custom_computer = tep_db_fetch_array($custom_computer_check); if ($custom_computer['products_model'] == "Custom"){ $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); }else{ $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; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script language="javascript"> <!-- 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 showPrice(form) { var myTotalPrice = 0; var showUP = 0; var myMathProblem = ""; myItemPrice = parseFloat(form.nuPrice.value); 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" ) { myParSign = myPrice.indexOf(")", myDollarSign); myAttributeString = myPrice.substring(myDollarSign+1, myParSign); myAttributeString = myAttributeString.replace(/,/,""); myAttributePrice = parseFloat(myAttributeString); myMathProblem = myPrice.charAt(myDollarSign - 1); } else { myAttributePrice = 0; } if (myMathProblem == "-") { myTotalPrice = myTotalPrice - myAttributePrice; } else { myTotalPrice = myTotalPrice + myAttributePrice; } } } if ( showUP ) { myTotalPrice = FormatNumber(myTotalPrice + myItemPrice); document.getElementById("productNEWprice").innerHTML = "Subtotal Price with Options $" + myTotalPrice; } } //--> </script> <script language="javascript"><!-- function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le ft=150') } //--></script> </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 //--> <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')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php 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 { if ($custom_computer['products_model'] == "Custom"){ $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_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); }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 . "'"); 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>'; $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); 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']; } ?> <!-- body_text //--> <td width="97%" valign="top"> <?php echo $products_name; ?> <form name="cart_quantity" method="post" action="/product_info.php/products_id/536/action/add_product"> <input type="hidden" name="products_id" value="536"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="43%" height="17" class="boxmailproduct"><img src="/images/productinfo1.gif" width="146" height="17"> </td> <td width="57%" height="17" valign="top" class="productsborderrighttop"> <div align="right"><img src="/images/productinfo2.gif" width="21" height="17"></div></td> </tr> <tr> <td class="productsborder"> <div align="left"> <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, SMALL_IMAGE_HEIGHT, '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, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </noscript> </td> </tr> </table> </div> <td height="112" class="productsborderright"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Productbox"> <tr> <td colspan="4"> </td> </tr> <tr> <td width="5%" class="productsborderright"> <div align="left"><font size="2"></font></div></td> <td colspan="3"><font size="2"><font color="#333333" face="Verdana, Arial, Helvetica, sans-serif"> </tr> <tr> <td colspan="4"> </td> </tr> <tr> <td height="19" colspan="2" valign="top"> <div align="right"><font color="#666666" size="2" face="Verdana, Arial, Helvetica, sans-serif">Our Price:</font></div></td> <td width="5%"> </td> <td width="58%" align="center" valign="middle"> <div align="left"><strong><font color="#DF0000"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"> <?php echo $products_price; ?></td> </font></font></strong></div></td> <input type="hidden" name="nuPrice" value="<?php echo str_replace("$","",$nuPrice); ?>"> </tr> <tr> <td colspan="4" valign="top"> <div align="right"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></div> <div align="left"><font color="#FDFDFD" size="1" face="Verdana, Arial, Helvetica, sans-serif">.</font></div></td> </tr> <tr> <td colspan="2" valign="top"><div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font> </div></td> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td> <tr> <td height="19" colspan="2" valign="top"> <div align="right"><font color="#666666" size="2" face="Verdana, Arial, Helvetica, sans-serif">Add to Cart: </font></div></td> <td width="5%"> </td> <!-- body_text_eof //--> <script language="javascript"> <!-- showPrice(cart_quantity); //--> </script> <?php $nononline_items = array(); $sql = "SELECT manufacturers_id FROM manufacturers WHERE disable_addtobasket='Y'"; $result = mysql_query($sql); while($id = mysql_fetch_array($result,MYSQL_ASSOC)){ array_push($nononline_items,$id['manufacturers_id']); } if (!in_array($product_info['manufacturers_id'],$nononline_items)){ echo (" <td class=\"main\" align=\"left\">". tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART)); } else { echo (" <td class=\"main\" align=\"left\">".NON_ONLINE_ITEM); } ?> </td> <tr> <td colspan="4" valign="top"> </td> </tr> <tr> <td height="19" colspan="2" valign="top"> <div align="right"><font color="#666666" size="2" face="Verdana, Arial, Helvetica, sans-serif">Need More Info?</font></div></td> <td width="5%"> </td> <td width="58%" align="center" valign="middle"> <div align="left"><strong><font color="#000000"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?php // ################### Ask a question ############## ?> <img src="/images/ask_a_question.gif"> <a href="ask_a_question.php?products_id=<?php echo $product_info['products_id']; ?>" ONMOUSEOVER="window.status='.<?php echo TEXT_QUESTION; ?> .'; return true"> <?php echo TEXT_QUESTION; ?> <b><?php echo $product_info['products_name']; ?></b></a> <?php // ################ end added ask a question ############ ?></td> </font></font></strong></div></td> <tr> <td colspan="4"> </td> </tr> <tr> <td height="19" colspan="2" valign="top"> <div align="right"><font color="#666666" size="2" face="Verdana, Arial, Helvetica, sans-serif">PDF :</font></div></td> <td width="5%"> </td> <td width="58%" align="center" valign="middle"> <div align="left"><strong><font color="#000000"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"> <?php echo '<a href="' . tep_href_link(FILENAME_PDF_DATASHEET, 'products_id=' . $product_info['products_id']) .'" target="_self">' . tep_image('pdf/pdf.gif') .'</a>'; ?> </td> </font></font></strong></div></td> </tr> <td colspan="2"> </td> <td> </td> <td> <tr> <td height="19" colspan="2"> <div align="right"><font color="#666666" size="2" face="Verdana, Arial, Helvetica, sans-serif">Availability:</font></div></td> <td> </td> <td valign="middle"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <img src="images/custom.gif" border="0"> </font> </table> <tr class="productsborderbottom"> <td><img src="/images/headercorner2.gif" width="16" height="18"></td> <td> <div align="right"><img src="/images/headercorner1.gif" width="16" height="18"></div></td> </tr> </table> <p><?php echo stripslashes($product_info['products_description']); ?></p> <?php if (OPTIONS_AS_IMAGES_ENABLED == 'false'){ $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 $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name 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 . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $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)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "' order by pa.attribute_sort"); 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') { if (tep_session_is_registered('customer_id')) { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->format(tep_add_tax($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) * 1 ).') '; } else { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->format(tep_add_tax($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) * 1 ).' inc VAT) (' . $products_options['price_prefix'] . $currencies->format($products_options['options_values_price'] * 1 ).' ex VAT) '; } } } 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 $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute, "onChange='showPrice(this.form);'"); ?></td> </tr> <?php } ?> </table> <?php } //Options as Images. Add the curly bracket as shown on the next line } ?> <?php //Options as Images. This whole php clause needs to be added if (OPTIONS_AS_IMAGES_ENABLED == 'true') include ('options_images.php'); ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr><td><div id="productNEWprice"></div></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><?php $back = sizeof($navigation->path)-2; if (isset($navigation->path[$back])) { ?> <td class="main" align="center"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_back.gif', IMAGE_BUTTON_BACK) . '</a>'; ?></td> <?php } ?> <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> <?php $nononline_items = array(); $sql = "SELECT manufacturers_id FROM manufacturers WHERE disable_addtobasket='Y'"; $result = mysql_query($sql); while($id = mysql_fetch_array($result,MYSQL_ASSOC)){ array_push($nononline_items,$id['manufacturers_id']); } if (!in_array($product_info['manufacturers_id'],$nononline_items)){ echo (" <td class=\"main\" align=\"right\">". tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART)); } else { echo (" <td class=\"main\" align=\"right\">".NON_ONLINE_ITEM); } ?></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> <tr> <td> <?php if ((USE_CACHE == 'true') && empty($SID)) { echo tep_cache_also_purchased(3600); } else { include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } } ?> </td> </tr> </table></form></td> <!-- 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> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> On the install it states: Search For: <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> Change to: <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute, "onChange='showPrice(this.form);'"); ?></td> so ive done this on options_images.php aswell, heres that file <?php /* $Id: options_images.php,v 1.0 2003/08/18 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ $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> <?php echo '<td class="main" colspan="2"><b>' . TEXT_PRODUCT_OPTIONS . '<br><b>If you wish to upgrade any of the components please choose from the options below</b>'; ?> <?php if (OPTIONS_IMAGES_CLICK_ENLARGE == 'true') echo '<br>Click the images to enlarge';?> </td> </tr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name, popt.products_options_images_enabled 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 . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pov.products_options_values_thumbnail, 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)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "' order by pa.attribute_sort"); 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'], 'thumbnail' => $products_options['products_options_values_thumbnail']); 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" valign="top"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <?php if ($products_options_name['products_options_images_enabled'] == 'false'){ echo '<td class="main">' . tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute, "onChange='showPrice(this.form);'") . '</td></tr>'; } else { $count=0; echo '<td class="main"><table><tr>'; foreach ($products_options_array as $opti_array){ echo '<td><table cellspacing="1" cellpadding="0" border="0">'; if (OPTIONS_IMAGES_CLICK_ENLARGE == 'true') echo '<td align="center"><a href="javascript:popupWindow(\'' . tep_href_link(FILENAME_OPTIONS_IMAGES_POPUP, 'oID=' . $opti_array['id']) .'\')">' . tep_image(DIR_WS_IMAGES . 'options/' . $opti_array['thumbnail'], $opti_array['text'], OPTIONS_IMAGES_WIDTH, OPTIONS_IMAGES_HEIGHT) . '</a></td></tr>'; else echo '<tr><td align="center">' . tep_image(DIR_WS_IMAGES . 'options/' . $opti_array['thumbnail'], $opti_array['text'], OPTIONS_IMAGES_WIDTH, OPTIONS_IMAGES_HEIGHT) . '</td></tr>'; echo '<tr><td class="main" align="center">' . $opti_array['text'] . '</td></tr>'; echo '<tr><td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'] . '" checked></td></tr></table></td>'; $count++; if ($count%OPTIONS_IMAGES_NUMBER_PER_ROW == 0) { echo '</tr><tr>'; $count = 0; } } echo '</table>'; } ?> </td></tr> <?php } ?> </table> <?php } ?> The install files can be downloaded HERE It takes 10 mins to install the updates to this mod, so someone who is good with php should be able to see the error. First person to solve it gets ?10 in their currency to say thanks Link to comment Share on other sites More sharing options...
Guest Posted June 12, 2004 Share Posted June 12, 2004 Add the onchange to the radio buttons :) Matti Link to comment Share on other sites More sharing options...
martinmacca Posted June 12, 2004 Author Share Posted June 12, 2004 Ive added the onchange to the dropdown options if ($products_options_name['products_options_images_enabled'] == 'false'){ echo '<td class="main">' . tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute, "onChange='showPrice(this.form);'") . '</td></tr>'; but that doesnt make a difference. I cant see a section for the radio buttons ? Link to comment Share on other sites More sharing options...
Guest Posted June 12, 2004 Share Posted June 12, 2004 echo '<td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'] . '" checked></td> Matti Link to comment Share on other sites More sharing options...
martinmacca Posted June 12, 2004 Author Share Posted June 12, 2004 Im not great with php, ive tried various combinations and keep getting the parse error Parse error: parse error, expecting `','' or `';'' in /home/custom-p/public_html/options_images.php on line 62 This is one of the combinations ive tried echo '<tr><td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'], "onChange='showPrice(this.form);) . '" checked></td></tr></table></td>'; Any idea on how to add it ? Link to comment Share on other sites More sharing options...
Guest Posted October 31, 2004 Share Posted October 31, 2004 Im not great with php, ive tried various combinations and keep getting the parse error This is one of the combinations ive tried echo '<tr><td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'], "onChange='showPrice(this.form);) . '" checked></td></tr></table></td>'; Any idea on how to add it ? <{POST_SNAPBACK}> Hey martinmacca, I don't know if you are still looking for this answer or not? I was facing the same problem today, and due to your post I was able to get the clues to fix it. The combination you want to get it to work is: echo '<tr><td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'] . '" onChange="'.showPrice(this.form).'" checked></td></tr></table></td>'; It is now working for me, I just need to figure out how to move the bottom part to the top of the page, any ideas?? Thank RavenWulf Link to comment Share on other sites More sharing options...
Guest Posted October 31, 2004 Share Posted October 31, 2004 Hey martinmacca, I don't know if you are still looking for this answer or not? I was facing the same problem today, and due to your post I was able to get the clues to fix it. The combination you want to get it to work is: echo '<tr><td align="center"><input type="radio" name ="id[' . $products_options_name['products_options_id'] . ']" value="' . $opti_array['id'] . '" onChange="'.showPrice(this.form).'" checked></td></tr></table></td>'; It is now working for me, I just need to figure out how to move the bottom part to the top of the page, any ideas?? Thank RavenWulf <{POST_SNAPBACK}> ok..I jumped the gun a bit. I have it so that you don't error out anymore when you DON'T have the images as option set to true. But if you do set it to true then you get a new error: Fatal error: Call to undefined function: showprice() in .....\catalog\options_images.php on line 69 So does anyone know how I can get the js function into this .php file? I tried to put it at the top, but it wouldn't work. Then I decided to "change" it from js to a function here is what I have: 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 ($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) { $myTotalPrice = 0; $showUP = 0; $myMathProblem = ""; $myItemPrice = parseFloat(form.nuPrice.value); for ($i = 0; $i < form.elements.length; $i++) { $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){ $myParSign = myPrice.indexOf(")", $myDollarSign); $myAttributeString = myPrice.substring($myDollarSign+1, $myParSign); $myAttributeString = myAttributeString.replace("/","/",""); $myAttributePrice = parseFloat($myAttributeString); $myMathProblem = myPrice.charAt($myDollarSign - 1); } else { $myAttributePrice = 0; } if ($myMathProblem == "-") { $myTotalPrice = $myTotalPrice - $myAttributePrice; } else { $myTotalPrice = $myTotalPrice + $myAttributePrice; } } } if ( showUP ) { $myTotalPrice = FormatNumber($myTotalPrice + $myItemPrice); document.getElementById("productNEWprice").$innerHTML = "Subtotal Price with Options $" + $myTotalPrice; } } now if this is correct or not I don't know as it is just my best shot at it. However is doesn't error out now on the showprice call. Now is errors out on: parseFloat call sigh...does anyone know how to get this working? Thanks Doug Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.