Contributions
BestSellers Box Enhancement
******************************
BestSellers Box Enhancement
******************************
If you saw the CategoryBoxEnhancement contribution by Nils Petersson, you'd see where I came up with this one... This is a simple modification in the best_sellers.php box, to add a small line of code that'll allow an image to be displayed in front of the list of best sellers instead of that list 01, 02, 03, 04, etc.
Have fun with it!
******************************
Installation
******************************
Replace your file with this file, if you already have something in the best_sellers.php box, then simply make the added change..it's not difficult :)
Expand All / Collapse All
The random contrib was not working on my shop.
I changed the code to :
******************
$best_sellers_query = tep_db_query("SELECT *, RAND() AS rand_id FROM (select distinct p.products_id, p.products_image,pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_SELECT_BESTSELLERS.") AS a ORDER BY rand_id LIMIT " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("SELECT *, RAND() AS rand_id FROM (select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_SELECT_BESTSELLERS.") AS a ORDER BY rand_id LIMIT " . MAX_DISPLAY_BESTSELLERS);
}
******************
And now it works !! Instructions only. Download SQL query from previous contrib.
This is a fusion between Random bestsellers 0.2 @ http://www.oscommerce.com/community/contributions,3304 to display random bestsellers using the last version of this modification. All credits to its creators.
File includes random_bestsellers.sql and Read me file with modified text.
Note: This is my first cont and you can see it live @ http://vivipro.org
Enjoy!!
##########
--------------------------------------------------
-- Enhanced Bestsellers Box Plus Random Bestsellers 0.2 --------------------------------------------------
Adapted By vivipro.com / All credit goes to is original developers.
About:
This is a small contribution, wich changes the database query for best sellers. After this modification the displayed
best sellers are randomly selected. I needed this feature, because I have several best sellers wich cannot displayed at once.
I wanted not only the 5 top sellers, but 5 randomly from the first 20 best sellers. You can change the number of selected
best sellers ("Select Best Sellers"), and the number of displayed best sellers ("Best Sellers") in the admin-section of
your osCommerce installation.
Requirements:
- MySQL 4.1 or above
- osCommerce 2.2 MS2
Installation:
----- OPEN ---------------------------------
includes/boxes/best_sellers.php
----- FIND ---------------------------------
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image,pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
----- REPLACE WITH -------------------------
$best_sellers_query = tep_db_query("SELECT *, RAND() AS rand_id FROM (select distinct p.products_id, p.products_image,pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS.") AS a ORDER BY rand_id LIMIT " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("SELECT *, RAND() AS rand_id FROM (select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS.") AS a ORDER BY rand_id LIMIT " . MAX_DISPLAY_BESTSELLERS);
}
----- IMPORT INTO DATABASE -----------------
random_bestsellers.sql
made some edits to clean it up and float the image and lose the extraneous bullet, etc.
A complete version of best_sellers.php box with image link to right directories, just replace file in /includes/boxes and will run.
HTML bug fix.
A complete version of best_sellers.php box with image link to right directories, just replace file in /includes/boxes and will run.
Have fun!
Corné
******************************
BestSellers Box Enhancement
******************************
If you saw the CategoryBoxEnhancement contribution by Nils Petersson, you'd see where I came up with this one... This is a simple modification in the best_sellers.php box, to add a small line of code that'll allow an image to be displayed in front of the list of best sellers instead of that list 01, 02, 03, 04, etc.
Have fun with it!
******************************
Installation
******************************
Replace your file with this file, if you already have something in the best_sellers.php box, then simply make the added change..it's not difficult :)
Note: Contributions are used at own risk.