Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Option Types v2 and Options Price Update


jay-kay

Recommended Posts

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:

Link to comment
Share on other sites

  • 2 months later...

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 -->

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...