The FIRST thing to do is set up your "hidden" category.
Set it up as you would any other category, then "disable" it, by making sure its STATUS icon is red, not green.
Make a note of its ID number of the category (on the left hand side of the categories manager screen, it shows these ID numbers).
NOW... you need to add the following CONDITIONAL to a few php files, and in certain places.
They are all MODULE files
includes/modules/new_products.php
includes/modules/upcoming_products.php
You will see (around lines 22 to 30):
Code:
if ( (($manufacturers_id > 0 && $_GET['filter_id'] == 0) || $_GET['music_genre_id'] > 0 || $_GET['record_company_id'] > 0) || (!isset($new_products_category_id) || $new_products_category_id == '0') ) {
$new_products_query = "select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name,
p.products_date_added, p.products_price, p.products_type, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
and p.products_status = 1 " . $display_limit;
Now, add the line I show in RED
Code:
if ( (($manufacturers_id > 0 && $_GET['filter_id'] == 0) || $_GET['music_genre_id'] > 0 || $_GET['record_company_id'] > 0) || (!isset($new_products_category_id) || $new_products_category_id == '0') ) {
$new_products_query = "select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name,
p.products_date_added, p.products_price, p.products_type, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and p.master_categories_id != '3'
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
and p.products_status = 1 " . $display_limit;
and p.master_categories_id != '3' means: Only list a product if its master category ID number is NOT equal to 3.
In my example, the category ID = 3, so just insert YOUR category ID number.
You will be able to create an OVER-RIDE for these files (ie: put the edited files into your CUSTOM folder).
If you are not familiar with the CUSTOM template system, (over-rides) then it is a good idea to understand this first.
----------------------------------------------------------------------
NEXT... other files that need tweaking are in the PAGES folders, and it should be fairly obvious where other listings will occur where you want the category to be excluded.
includes/pages/advanced_search_result
includes/pages/products_all
includes/pages/products_new
Inside these folders are the header_php.php files
For advanced_search_result/header_php.php. around lines 243 to 250, you will see:
Code:
$where_str = " WHERE (p.products_status = 1
AND p.products_id = pd.products_id
AND pd.language_id = :languagesID
AND p.products_id = p2c.products_id
AND p2c.categories_id = c.categories_id' ";
Again... add the CONDITIONAL
Code:
$where_str = " WHERE (p.products_status = 1
AND p.products_id = pd.products_id
AND pd.language_id = :languagesID
AND p.products_id = p2c.products_id
AND p2c.categories_id = c.categories_id
AND p.master_categories_id != '3' ";
----------------------------------------------------------------------------
In the following:
includes/pages/products_all
includes/pages/products_new
You need to do the same sort of thing in their header_php.php files:
Around line 28 or 29, you will see:
Code:
WHERE p.products_status = 1
AND p.products_id = pd.products_id
AND pd.language_id = :languageID" . $order_by;
Again, add your conditional
Code:
WHERE p.products_status = 1
AND p.products_id = pd.products_id
AND pd.language_id = :languageID
AND p.master_categories_id != '3' " . $order_by;
-----------------------------------------------------------------
And that should be it...
Make BACKUPS of all core files before yoiu edit them.
----------------------------------------------------------------
Now... all you need do is when you have "created your product" send the winning bidder the unique URL to that product... it will be something like:
http://www.yourwebsite.com/index.php...roducts_id=255
(as you will see, in my example cPath=3... In yours it will obviously be your own hidden category ID.