Ещё один допил. Суть вот в чем . Если у вас система Категория ( тут весь товар из всех подкатегорий) - Подкатегория, то отмечая отображать пункт фильтра в Категории он будет отображаться и в подкатегории, но подкатегории могут быть разные, и не во всех данный пункт используется для фильтрации, т.е. он просто будет пустым , но название будет присутствовать, что есть не хорошо. Сразу скажу, что Показывать пустые значения фильтра? - отключено.
Сделано как обычно в тупую :-) .
Добавляем строчку $sum += $products; в controller/module/filter.php после.
$products = $this->model_catalog_product->getTotalProducts(array('filter_category_id'=>end($parts),'filter_sub_category'=>1) , str_replace('&filter=', '', $filter_params));
$sum += $products;
Далее в массив 'status_value'=> $sum
$this->data['category_options'][] = array(
'option_id' => $option['option_id'],
'name' => $option['name'],
'values' => $values,
'status' => $option['status'],
'status_value'=> $sum
);
Далее в view/module/filter.tpl ищем такую строку <?php if ($category_option['status']) { ?> и меняем её на
<?php if ($category_option['status'] and $category_option['status_value'] != 0) { ?>
У кого-то может что-то отличаться, поэтому суть. sum - суммирование товаров относящихся к пункту фильтра. Если кол-во товаров равно нулю, то не выводить. Протестировано в различных вариациях включения пунктов фильтра ( к данному решению пришел не сразу). Если заметите, что работает что-то не так, просьба отписать.
Впринципе можно и по-другому сделать, покапаться в админке модуля и развязать категория - подкатегория, если сделать галку категория, то она не будет связана с подкатегориями. Но мой метод круче)). Отметил одну категорию и не нужные пункты не выводятся. ;)