Hi,
Based on an osCommerce contrib., this is (slightly) changed to cater for BTS.
There will doubtless be a lot of extraneous code, due to the new file being based on new_products.php (just a quick 'n' dirty mod.).
[Unable to upload an attachment at present, so a long post - sorry].
Create a new file includes/modules/random_products.php containing:
Edit templates/fallback/content/index_default.tpl.php or templates/yourtemplate/content/index_default.tpl.phpPHP Code:<?php
/*
$Id: random_products.php 3 2009-04-08 09:04:07Z user $
(dummy ident by EJ)
osCMax Power E-Commerce
http://oscdox.com
Copyright 2008 osCMax
Released under the GNU General Public License
*/
?>
<!-- random products - ejsolutions.co.uk 2009 //-->
<?php
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
$new_products_query = tep_db_query("select 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 where products_status = '1' order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
} else {
$new_products_query = 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 = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
}
// global variable (session) $sppc_customer_group_id -> local variable customer_group_id
if(!tep_session_is_registered('sppc_customer_group_id')) {
$customer_group_id = '0';
} else {
$customer_group_id = $sppc_customer_group_id;
}
if (($no_of_new_products = tep_db_num_rows($new_products_query)) > 0) {
while ($_new_products = tep_db_fetch_array($new_products_query)) {
$new_products[] = $_new_products;
$list_of_prdct_ids[] = $_new_products['products_id'];
}
$select_list_of_prdct_ids = "products_id = '".$list_of_prdct_ids[0]."' ";
if ($no_of_new_products > 1) {
for ($n = 1 ; $n < count($list_of_prdct_ids) ; $n++) {
$select_list_of_prdct_ids .= "or products_id = '".$list_of_prdct_ids[$n]."' ";
}
}
// get all customers_group_prices for products with the particular customer_group_id
// however not necessary for customer_group_id = 0
if ($customer_group_id != '0') {
$pg_query = tep_db_query("select pg.products_id, customers_group_price as price from " . TABLE_PRODUCTS_GROUPS . " pg where (".$select_list_of_prdct_ids.") and pg.customers_group_id = '".$customer_group_id."'");
while ($pg_array = tep_db_fetch_array($pg_query)) {
$new_prices[] = array ('products_id' => $pg_array['products_id'], 'products_price' => $pg_array['price'], 'specials_new_products_price' => '');
}
for ($x = 0; $x < $no_of_new_products; $x++) {
// replace products prices with those from customers_group table
if(!empty($new_prices)) {
for ($i = 0; $i < count($new_prices); $i++) {
if( $new_products[$x]['products_id'] == $new_prices[$i]['products_id'] ) {
$new_products[$x]['products_price'] = $new_prices[$i]['products_price'];
}
}
} // end if(!empty($new_prices)
} // end for ($x = 0; $x < $no_of_products_new; $x++)
} // end if ($customer_group_id != '0')
// an extra query is needed for all the specials
$specials_query = tep_db_query("select products_id, specials_new_products_price from " . TABLE_SPECIALS . " where (".$select_list_of_prdct_ids.") and status = '1' and customers_group_id = '" .$customer_group_id. "' ");
while ($specials_array = tep_db_fetch_array($specials_query)) {
$new_s_prices[] = array ('products_id' => $specials_array['products_id'], 'specials_new_products_price' => $specials_array['specials_new_products_price']);
}
// replace products_price with the correct specials_new_products_price
if(!empty($new_s_prices)) {
for ($x = 0; $x < $no_of_new_products; $x++) {
for ($i = 0; $i < count($new_s_prices); $i++) {
if( $new_products[$x]['products_id'] == $new_s_prices[$i]['products_id'] ) {
$new_products[$x]['products_price'] = $new_s_prices[$i]['specials_new_products_price'];
}
}
}
} // // end if(!empty($new_s_prices)
$row = 0;
$col = 0;
// $info_box_contents = array();
$box_content = array();
// while ($new_products = tep_db_fetch_array($new_products_query)) {
for ($x = 0; $x < $no_of_new_products; $x++) {
$new_products[$x]['products_name'] = tep_get_products_name($new_products[$x]['products_id']);
$box_content[$row][$col] = array('align' => 'center',
'params' => 'class="smallText" width="33%" valign="top"',
'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products[$x]['products_id']) . '">' . tep_image(DIR_WS_IMAGES . DYNAMIC_MOPICS_THUMBS_DIR . $new_products[$x]['products_image'], $new_products[$x]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products[$x]['products_id']) . '">' . $new_products[$x]['products_name'] . '</a><br>' . $currencies->display_price($new_products[$x]['products_price'], tep_get_tax_rate($new_products[$x]['products_tax_class_id'])));
$col ++;
if ($col > 2) {
$col = 0;
$row ++;
}
} // end for ($x = 0; $x < $no_of_new_products; $x++)
} // end if (($no_of_new_products = tep_db_num_rows($new_products_query)) > 0)
new contentBox($box_content);
// EOF: MOD - Separate Pricing per Customer
?>
<!-- random products_eof //-->
Line 45:
Change to:PHP Code:<td><br><?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td>
EnjoyPHP Code:<td><br><?php include(DIR_WS_MODULES . 'random_products.php'); ?></td>
EJ
Please note that there is an alternative:
New Products Project





LinkBack URL
About LinkBacks








Bookmarks