по логике, он цепляется за текущею категорию, что бы использовать фильтр в ней, мы можем туда забабахать рекурсию до поиска последнего родителя, и будет вынимать из бд товары подходящие по характер. установленном в фильтре и по категории. Но есть проблема в логике, если мы уже находимся на категории, какой толк толкать в неё товары из соседних (от родителя) категорий?
Посмотри в сторону фильтров которые позволяют выбирать категории для фильтрации, мб в них можно получить лучший ответ.
А еще не забывай, что пользователь хоть дурак, но не полный и понимает, что зайдя в категорию штанишки в родительской машины (прим.) он не хочет получать в результате еще и тракторы, он же спец зашел в категорию штанишки!!!
Плюс проблема с набором уник. свойств по которым фильтровать, т.к. их может стать на много больше, если лезем в категории родителей....