Brand Filter Custom Display

Presently i am using cscart version 3.0.3

→ Currently in Brand filter section on the left side of the page we are getting all brands list.

→ But i need to modify code so that it should get only brands of the products that are searched.

The query for getting brands list is being written in fn_get_filters_products_count() function. and the variable is $ranges_counts

Now i need to add condition to the query with product ids of serched result products like ex :

$where .= " AND ?:products.product_id IN('1050924','1083996')";

so how can i get searched product information in fn_get_filters_products_count() function?

Hello anilkumar,

I'm afraid, custom modification is required here. You are always welcome to contact us to get a quote http://www.alt-team…st-a-quote.html

But I can give you some useful tips, probably they will help you.

The information about searched products is not passed in the fn_get_filters_products_count() function.

But you can get this info from the template variables this way (CS-Cart 3):

$template_products = Registry::get('view')->get_template_vars('products');

$_product_ids = array_map(function($t_p) {return $t_p['product_id']; }, $template_products);

In the $_product_ids variable will be stored the ids of the products that are searched. But please notice, it's not a good practice to use the template variables in the controller. Nevertheless, it is the only simple way to get the list of searched products in this function without implementing a custom modification to it.

Best regards, Alt-team

This addon might save you some time. Show dynamic filters on search page without core file changes: CS-Cart Dynamic Filters on Search Page