по цене — процессор 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)