в 2.17.2 уже это исправлено и используется такой код:
$tree = cmsCore::getModel('content')-> limit(0)->filterIsNull('is_hidden')-> getSubCategoriesTree($this->item_list['ctype']['name'], $category_id, 0) ?: [];
но в ранних версиях код другой и он не исключает скрытые категории:
$tree = cmsCore::getModel('content')->limit(0)->getCategoriesTree($this->item['ctype_name']) ?: []; // поэтому на сайте с версией 2.15.1, внес правку: foreach ($tree as $c) { if (!$c['is_hidden']) { // добавил проверку } }
тем самым в выпадающем списке скрытых категорий не будет. Если кому пригодится.
Но у Def версия 2.17.2, поэтому не знаю почему у него скрытые категории попадают в выпадающий список в фильтре. Пусть проверит свой файл поля category.php может остался старый файл...