Как вывести фильтр по товарам по всему каталогу (TPL)
Для того, чтобы вывести фильтр по товарам по всему каталогу, а не по одному разделу, воспользуемся следующими макросами:
%catalog getObjectsList('default', '%category_id%', 'false', 'false',4)%
где, 'default' - шаблон по которому будут выводиться товары, %category_id% - макрос подставляющий id категории, 'false' - пропускаем указание лимита, конечно, если он Вам не нужен', 'false' - оставляем включенным постраничные вывод (если нужно отключить, то пишем true), 4 - указываем глубину поиска.
%catalog search('%category_id%','cenovye_svojstva short_info','default','%type_id%')%
где, %category_id% - макрос подставляющий id категории, 'cenovye_svojstva short_info' - группа свойств товара, которая учавствует в фильтре, default - шаблон по которому будет выводиться фильтр, %type_id% - макрос подставляющий id типа данных.
Данные макросы необходимо написать в шаблоне, по которому выводится фильтр, обычно этот шаблон располагается по адресу:
/templates/demoold/tpls/catalog/default.tpl
и разместить в блоках $FORMS['category'], $FORMS['objects_block']:
$FORMS['category'] = <<<END
<p>%descr%</p>
%catalog getCategoryList('default', '%category_id%', 100, 1)%
%catalog getObjectsList('default', '%category_id%', '', '',4)%
END;
$FORMS['objects_block'] = <<<END
%catalog search('%category_id%','','default','%type_id%')%
END;