How do I remove Gift Certificates from the Bestsellers Sidebox in Zen Cart?


Zen Cart Bestsellers Sidebox - Remove Gift Certificates Gift certificates are treated just like any other product when it comes to the Bestsellers Sidebox in Zen Cart.  This sidebox displays the top selling items according to the orders listed in your database.

So, what can you do if you would like to remove gift certificates from being displayed as a best seller?  Providing the gift certificate items are all in the same category, it is easy to modify the bestsellers query to ignore this category when generating the best selling products for the sidebox.

In a default installation of Zen Cart with the demo products on, the gift certificates are in category 21.  Check the Category ID in your Zen Cart store by going to Zen Cart Admin > Catalog > Categories/Products.

To remove Gift Certificates from the Bestsellers Sidebox in Zen Cart:

  1. Open the best_sellers.php file located in the /includes/modules/sideboxes/ directory.
  2. Find this section of code (around line 34):
    $best_sellers_query = "select distinct p.products_id, pd.products_name, p.products_ordered
     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)$_SESSION['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;
  3. and modify to include the Master Category ID you wish to exclude:
    $best_sellers_query = "select distinct p.products_id, pd.products_name, p.products_ordered
     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)$_SESSION['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)
     and p.master_categories_id !=21
     order by p.products_ordered desc, pd.products_name
     limit " . MAX_DISPLAY_BESTSELLERS;
  4. Also, find this section of code (around line 51):
    $best_sellers_query = "select distinct p.products_id, pd.products_name, p.products_ordered
     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)$_SESSION['languages_id'] . "'
     order by p.products_ordered desc, pd.products_name
     limit " . MAX_DISPLAY_BESTSELLERS;
  5. And modify to include the Master Category ID you wish to exclude:
    $best_sellers_query = "select distinct p.products_id, pd.products_name, p.products_ordered
     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)$_SESSION['languages_id'] . "'
     and p.master_categories_id !=21
     order by p.products_ordered desc, pd.products_name
     limit " . MAX_DISPLAY_BESTSELLERS;

    ** In this example we are excluding products that have the Master Category ID of 21 from the best sellers query.

  6. Save the modified best_sellers.php file to your override folder.  This will be /includes/modules/sideboxes/CUSTOM/ where CUSTOM represents the name of your current template folder.
     
   
     

More Zen Cart:

  1. How do I exclude Free Products from the Bestsellers Sidebox in Zen Cart?
  2. Bestsellers – Zen Cart Sidebox
  3. Remove Category Product Counts from Category Sidebox in Zen Cart
  4. Change name of Bestsellers sidebox Heading in Zen Cart
  5. Set a sort order for the Featured Products Centerbox on Zen Cart Home Page
  1. No comments yet.
(will not be published)

Notify me of followup comments via e-mail. You can also subscribe without commenting.