по цене — процессор web/catalog/products/getdata
указываешь параметр
'where'=>['Product.sm_price:<'=>4000]
или
'where'=>['Product.sm_price:>'>=4000,'and:Product.sm_price:<'=>7000]
и т.п.
по производителю по tv фильтровать надо — посмотри web/catalog/products/getdata
будет что-то вроде
if($b=(int)$this->getProperty('brand')){ $c->innerJoin('modTemplateVarResource', 'brand', "brand.contentid = {$this->classKey}.id AND brand.tmplvarid = 13 AND brand.value={$brand}"); }
$brand — название производителя
(у меня произодитель в tv с id=13)