Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

How to display specials instead of new products list


sunburned

Recommended Posts

Posted

Instead of showing the table with new products on the start page I would like to show the table with the specials.

 

Is the any way to include the specials.php on the start page?

 

Thank in advance!

 

sunburned

Posted

I have just modified this contribution to give specials on the main page and when in category the new products as before: hope it is of use.

 

Just replace your new_products.php with the code below, this has not been tested on 2.2

 

<?php

/*

$Id: new_products.php,v 1.32 2002/04/26 20:28:07 dgw_ Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

?>

<!-- default_specials //-->

 

<tr>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<?php

$info_box_contents = array();

 

if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {

$info_box_contents[] = array('align' => 'left', 'text' => sprintf(TABLE_HEADING_DEFAULT_SPECIALS, strftime('%B')));

$new = tep_db_query("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and s.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' and s.status = '1' order by rand() DESC limit " . MAX_DISPLAY_SPECIAL_PRODUCTS);

} else {

$info_box_contents[] = array('align' => 'left', 'text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

$new = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . $new_products_category_id . "' and p.products_status = '1' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);

}

 

new contentBoxHeading($info_box_contents);

 

$info_box_contents = array();

$row = 0;

$col = 0;

while ($default_specials = tep_db_fetch_array($new)) {

$default_specials['products_name'] = tep_get_products_name($default_specials['products_id']);

$info_box_contents[$row][$col] = array('align' => 'center',

'params' => 'class="smallText" width="33%" valign="top"',

'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $default_specials['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $default_specials['products_image'], $default_specials['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $default_specials['products_id']) . '">' . $default_specials['products_name'] . '</a><br><s>' . $currencies->display_price($default_specials['products_price'], tep_get_tax_rate($default_specials['products_tax_class_id'])) . '</s><br><span class="productSpecialPrice">' . $currencies->display_price($default_specials['specials_new_products_price'], tep_get_tax_rate($default_specials['products_tax_class_id'])).'</span>'

);

$col ++;

if ($col > 2) {

$col = 0;

$row ++;

}

}

new contentBox($info_box_contents);

?>

 

<!-- default_specials_eof //-->

Posted

I have also added rand() order to the specials select statement as it was always showing the same ones based on date order of when they were added

Posted

I have just updated the contribution to fix a pricing error

Archived

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

×
×
  • Create New...