Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Specials - Showing More than one


brunel

Recommended Posts

Hi everyone

 

Is there an easy way to increase the number of specials on the front page.

 

I have 12 items in my specials listing but only 1 is appearing on the front page.

 

I've tried setting the maximum valuse in admin configuration to 6 but it doesnt work.

 

do I need to chnage the code somewhere so that the specials box will list 6 specials?

 

 

thanks for your help

 

j

I used to be clueless but I've turned that situation around 360 degrees

Link to comment
Share on other sites

Do you mean the number of specials appearing in the infobox?

 

If so, then you could try this (to be saved as includes/boxes/specials.php):

 

<?php
/*
?$Id: specials.php,v 1.31 2003/06/09 22:21:03 hpdl Exp $

?osCommerce, Open Source E-Commerce Solutions
?http://www.oscommerce.com

?Copyright (c) 2003 osCommerce

?Released under the GNU General Public License
*/

$product_query = 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 p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS);

$max = tep_db_num_rows($product_query);

if ($max != 0) {

?if ($max > MAX_RANDOM_SELECT_SPECIALS) {
?	$max = MAX_RANDOM_SELECT_SPECIALS;
?}

?>
<!-- specials //-->
? ? ? ? ?<tr>
? ? ? ? ? ?<td>
<?php
? ?$info_box_contents = array();
? ?$info_box_contents[] = array('text' => BOX_HEADING_SPECIALS);

? ?new infoBoxHeading($info_box_contents, false, false, tep_href_link(FILENAME_SPECIALS));

? ?$info_box_contents = array();

? ?for ($i = 0; $i < $max; $i++) {
?	$special_product = tep_db_fetch_array($product_query);
? ?	$info_box_contents[] = array('align' => 'center',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product["products_id"]) . '">' . tep_image(DIR_WS_IMAGES . $special_product['products_image'], $special_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '">' . $special_product['products_name'] . '</a><br><s>' . $currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])) . '</s><br><span class="productSpecialPrice">' . $currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])) . '</span>');
?}

? ?new infoBox($info_box_contents);
?>
? ? ? ? ? ?</td>
? ? ? ? ?</tr>
<!-- specials_eof //-->
<?php
?}
?>

 

This will show the X most recent specials added, where X is the maximum set in the admin configuration section (unless there are less than X, in which case it will just show those available).

 

[Edit for clarification... the virgin code selects the X most recent specials from the database, then selects one at random from that list.]

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...