Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

price = 0 go to a different product_info than if > than 0


koollayed

Recommended Posts

I have a question for the Oscommerce community. I searched the threads and could not find this. I was wondering if you guys could help me. I was wondering how to make a product that has a price = to 0 go to a different product info page. For example price= 0 go to product_info2 versus if price > 0 going to product_info1.

 

Or I was wondering if I can just have the background change and a different footer.php if the price is > than 0

 

Hope I explained this correct. Thanks so much.

 

Brian

Link to comment
Share on other sites

I will admit I don't understand the goal / purpose.

 

 

The goal is to have a black backgrond color for prodcts that don't have a price and a white background for prodcts with a price.

 

I play videos with products that don't have a price so black works and I wants traditional look for products that have price.

 

Hope this helps.

Link to comment
Share on other sites

First you need to check the price, just after the $product_check_query like this

  $price_check_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . "  where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
 $price_check = tep_db_fetch_array($price_check_query);

 

Then you can make following, if you want to have ie a different background color (replace the <body> tag that you have in your product_info.php

<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}

 

This is if you want to change the body color.

 

If any other element that comes after the $product_info_query, you can save the query on top and make the if/else as follows

<?php 
if ($product_info['products_price'] > '0') {
?>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<?php 
} else {
?>
<?php require(DIR_WS_INCLUDES . 'footer2.php'); ?>
<?php 
}

 

to display a different footer, just as an example (you need to have this footer2.php of course

 

You could even call a different stylesheet, like this

if ($price_check['products_price'] > '0') {
$stylesheet = 'stylesheet.css';
} else {
$stylesheet = 'stylesheet2.css';
}

this you place just before the beginning of the html part in product_info.php (inside the closing ?> tag

 

and then

<link rel="stylesheet" type="text/css" href="<?php echo $stylesheet; ?>">

replacing the stylesheet reference you have. In this case you need the query on top again

Link to comment
Share on other sites

First you need to check the price, just after the $product_check_query like this

  $price_check_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . "  where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
 $price_check = tep_db_fetch_array($price_check_query);

 

Then you can make following, if you want to have ie a different background color (replace the <body> tag that you have in your product_info.php

<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}

 

This is if you want to change the body color.

 

If any other element that comes after the $product_info_query, you can save the query on top and make the if/else as follows

<?php 
if ($product_info['products_price'] > '0') {
?>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<?php 
} else {
?>
<?php require(DIR_WS_INCLUDES . 'footer2.php'); ?>
<?php 
}

 

to display a different footer, just as an example (you need to have this footer2.php of course

 

You could even call a different stylesheet, like this

if ($price_check['products_price'] > '0') {
$stylesheet = 'stylesheet.css';
} else {
$stylesheet = 'stylesheet2.css';
}

this you place just before the beginning of the html part in product_info.php (inside the closing ?> tag

 

and then

<link rel="stylesheet" type="text/css" href="<?php echo $stylesheet; ?>">

replacing the stylesheet reference you have. In this case you need the query on top again

 

Thanks I really appreciate it. I replaced the code above but it seems to break the page. I added the price_check code and the page does not break. Once I added the body tag and footer the page seems to break. Any help would really be appreciated. The code is added at line 19, 42 and 379. I'm I placing the coded correctly.

 

<?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);
  $price_check_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . "  where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
 $price_check = tep_db_fetch_array($price_check_query);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>

<script type="text/javascript" language="javascript" src="niftyplayer.js"></script>
<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">
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
<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')
}
//--></script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<script type="text/javascript" src="js/builder.js"></script>
</head>
<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3" bgcolor="000000">
<?php /*** Begin Header Tags SEO ***/ ?>

<a name="<?php echo $header_tags_array['title']; ?>"></a>

<?php /*** End Header Tags SEO ***/ ?>
 <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 colspan="2"><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>
     </tr>
     <tr>
       <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
       <td colspan="2"><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 {
// BOF MaxiDVD: Modified For Ultimate Images Pack!
   $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, p.products_image_med, p.products_image_lrg, p.products_image_sm_1, p.products_image_xl_1, p.products_image_sm_2, p.products_image_xl_2, p.products_image_sm_3, p.products_image_xl_3, p.products_image_sm_4, p.products_image_xl_4, p.products_image_sm_5, p.products_image_xl_5, p.products_image_sm_6, p.products_image_xl_6, 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 . "'");
// EOF MaxiDVD: Modified For Ultimate Images Pack!
   $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>';
   } else {
     $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
   }

   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 colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <?php /*** Begin Header Tags SEO ***/ ?>

           <td class="pageHeading2" align="left" valign="top">

           <?php echo $products_name; ?></td>

           <td class="pageHeading3" align="right" valign="top">





<?php



if ($product_info['products_price'] > 0){

echo $products_price; 

} else {



}



?>





</td>

           <?php /*** End Header Tags SEO ***/ ?>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>
       <td><div align="right"><span class="main">
         <?php //if ($product_check['total'] >= 1) {include (DIR_WS_INCLUDES . 'products_next_previous.php');} ?>
       </span></div></td>
     </tr>
     <tr>
       <td colspan="0" class="main">
<?php
   if (tep_not_null($product_info['products_image'])) {
?>
         <table border="0" cellspacing="0" cellpadding="10" align="left">
           <tr>
             <td align="center" class="smallText">

<!-- // BOF MaxiDVD: Modified For Ultimate Images Pack! //-->
<?php
if ($product_info['products_image_med']!='') {
         $new_image = $product_info['products_image_med'];
         $image_width = MEDIUM_IMAGE_WIDTH;
         $image_height = MEDIUM_IMAGE_HEIGHT;
        } else {
         $new_image = $product_info['products_image'];
         $image_width = SMALL_IMAGE_WIDTH;
         $image_height = SMALL_IMAGE_HEIGHT;}?>
<!-- // Ultimate Images Pack 2.04 LightBox fix //-->
<?php 
if ($product_info['products_price'] > 0){
echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image_med']) . '" rel="lightbox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], ULT_THUMB_IMAGE_WIDTH, ULT_THUMB_IMAGE_HEIGHT, 'hspace="1" vspace="1"') . '<br>' . tep_image_button(TEXT_CLICK_TO_ENLARGE) . '</a>';}

else {



}
?>
<!-- // EOF MaxiDVD: Modified For Ultimate Images Pack! //-->              </td>
           </tr>
         </table>
<?php
   }
?>
<?php //echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?>
<td class="main2"><?php echo stripslashes($product_info['products_description']); ?></td>
<?php
   $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=""><?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 . "'");
       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 $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); ?></td>
           </tr>
<?php
     }
?>
         </table>
         <?php
   }
?>        </td>
     </tr>

<?php
// BOF MaxiDVD: Modified For Ultimate Images Pack!
if (ULTIMATE_ADDITIONAL_IMAGES == 'enable') { include(DIR_WS_MODULES . 'additional_images.php'); }
// EOF MaxiDVD: Modified For Ultimate Images Pack!
; ?>

     <tr>
       <td colspan="2"><?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 colspan="2" class="main2"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
     </tr>
     <tr>
       <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
<?php
   }

   if (tep_not_null($product_info['products_url'])) {
?>
     <tr>
       <td colspan="2" 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 colspan="2"><?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 colspan="2" align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>
     </tr>
<?php
   } else {
?>
     <tr>
       <td colspan="2" align="center" class="smallText"><?php //echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>
     </tr>
<?php
   }
?>
     <tr>
       <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
       <td colspan="2"><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 

if ($product_info['products_price'] > 0){

echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); 



} else {

echo '';



}



?>



</td>
               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
             </tr>
           </table></td>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
<!--- BEGIN Header Tags SEO Social Bookmarks -->

     <?php if (HEADER_TAGS_DISPLAY_SOCIAL_BOOKMARKS == 'true')

      include(DIR_WS_MODULES . 'header_tags_social_bookmarks.php');

     ?>

     <!--- END Header Tags SEO Social Bookmarks -->      
     <tr><td colspan="2"> </td>
          <tr>
       <td colspan="2">
<?php
   if ((USE_CACHE == 'true') && empty($SID)) {
     echo tep_cache_also_purchased(3600);
   } else {
     //include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
   }
 }
?>        </td>

    </tr>
    <?php /*** Begin Header Tags SEO ***/ ?>

     <tr>

      <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

      <td class="smallText" align="center"><?php //echo TEXT_VIEWING; ?> 

      <?php echo '<a title="' . $header_tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"/# ' . $header_tags_array['title'] . '">' . $header_tags_array['title']; ?></a></td>

     </tr>

     <?php /*** End Header Tags SEO ***/ ?>
   </table>
   </form></td>
<!-- body_text_eof //-->

 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

I'm sorry, I had a copy paste mistake in my post, in both cases (body and footer) I was missing the closing php tag ?>

 

The code has to look like this

<?php 
if ($product_info['products_price'] > '0') {
?>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<?php 
} else {
?>
<?php require(DIR_WS_INCLUDES . 'footer2.php'); ?>
<?php 
}
?>

and

<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}
?>

 

Now it works

Link to comment
Share on other sites

I'm sorry, I had a copy paste mistake in my post, in both cases (body and footer) I was missing the closing php tag ?>

 

The code has to look like this

<?php 
if ($product_info['products_price'] > '0') {
?>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<?php 
} else {
?>
<?php require(DIR_WS_INCLUDES . 'footer2.php'); ?>
<?php 
}
?>

and

<?php 
if ($price_check['products_price'] > '0') {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#FF0000">
<?php 
} else {
?>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="background-color:#00FF00">
<?php 
}
?>

 

Now it works

 

Thanks so much I really appreciated it.

 

I had to code the background

 


<?php 
if ($price_check['products_price'] > '0') {
?>
<table border="0" width="100%" cellspacing="3" cellpadding="3" bgcolor="ffffff">
<?php 
} else {
?>
<table border="0" width="100%" cellspacing="3" cellpadding="3" bgcolor="000000">
<?php 
}
?>

 

 

Thanks again

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...