ferdinant, фильтр вынесенный в макет или шаблон не всегда будет работать правильно, а решить вашу задачу и вовсе не сможет.
Вывод фильтра должен оставаться в xsl, а чтобы он был виден лишь там где есть товары нужно перед блоком вывода фильтра добавить соответствующих условий if или choose.
Условиями-же, но скорее всего уже внутри блока вывода фильтра, решается и соответствие его текущей категории. Примеров дать не могу, поскольку не знаю какую логику вы задумываете (да и вообще не до конца понял что значит "чтобы фильтр соответствовал категории"
