Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

?10 to the person who can solve this!


martinmacca

Recommended Posts

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 options.jpgThe 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

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

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

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

  • 4 months later...
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 ?

 

 

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

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

 

 

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...