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

Posted

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

Posted

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.

Posted

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

Posted

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'); ?>

Posted

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

Posted

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

Archived

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

×
×
  • Create New...