I use the table prefixes in my client's cart, because there are other things going on in the database, and had a problem getting this contrib to run out of the box. I found out there is a simple code fix to two files:
./includes/templates/YOUR_TEMPLATE/templates/tpl_products_all_default.php
LINE 24
Code:
$products_all_query_raw = preg_replace('/, ' . TABLE_PRODUCTS_DESCRIPTION . ' pd(\s*)WHERE/', ' LEFT JOIN ' . TABLE_HIDE_CATEGORIES . ' h ON (p.master_categories_id = h.categories_id), ' . TABLE_PRODUCTS_DESCRIPTION . ' pd WHERE (h.visibility_status < 2 OR h.visibility_status IS NULL) AND', $products_all_query_raw);
./includes/templates/YOUR_TEMPLATE/templates/tpl_products_new_default.php
LINE 24
Code:
$products_new_query_raw = preg_replace('/, ' . TABLE_PRODUCTS_DESCRIPTION . ' pd(\s*)WHERE/', ' LEFT JOIN ' . TABLE_HIDE_CATEGORIES . ' h ON (p.master_categories_id = h.categories_id), ' . TABLE_PRODUCTS_DESCRIPTION . ' pd WHERE (h.visibility_status < 2 OR h.visibility_status IS NULL) AND', $products_new_query_raw);
I added the second TABLE_PRODUCTS_DESCRIPTION, which was previously set to 'products_description'. In other words, it was looking for the table named products_description and not DB_PREFIX . products_description.
It was likely just a missed statement. I know someone else in this thread had posted having a problem with this.
hope that helps...
marc...