Hi sup,
sorry, but I'm not really an expert on how the multi-site plugin works. Here are two thoughts:
There is a bookx function which runs on all pages that list multiple products and it is in YOUR CATATALOG/includes/classes/observers/class.bookx_observers.php. The function is called update_product_listing_with_bookx_attributes and around line 454 there is this:
$listing_split = new splitPageResults($listing_sql_new, MAX_DISPLAY_PRODUCTS_LISTING, 'p.products_id', 'page');
You could try adding your cat_filter there. Possibly this results in the cat_filter being called twice during one execution of the script, once here and once inside the product listing template, I don't know.
The more restrictive call to cat_filter could be placed inside YOUR CATATALOG/includes/index_filters/bookx_filter.php around line 122 there is $listing_sql = 'SELECT ' . $select_column_list . $select_table_list . ' WHERE ' . $select_where_conditions . $alpha_sort; which is only called when there is a BookX filter active.
**Attention: ** When a bookx filter is active, the filter code above is called first, and then the observer code is called as well a bit later, so adding cat_filter in both places means it will be called twice by BookX when filters are active.
Hope that helps you along!
Regards,
p.