Коротко, но вроде понятно должно быть.
Весь код не выкладываю, так как перепахан. Да и не называется он уже adsmanager, и в базе adsmanager слова не встретишь.

Ищем в adsmanager.php (у меня mobile.php) функцию adsList.
Заменяем в switch()
case 'price':
$value = mosGetParam( $_GET, $fsearch->name, "" );
if ($value != "")
{
$search .= " AND a.$fsearch->name = '$value'";
$url_param .= "&".$fsearch->name."=".$value;
}
$ot = intval( mosGetParam( $_GET, $fsearch->nameo, 0 ) );
$do = intval( mosGetParam( $_GET, $fsearch->named, 0 ) );
if (($ot != "")&&($do != "")) {
$search .= " AND a.published = 1 and a.$fsearch->name >= ".$ot." and a.$fsearch->name <= ".$do;
} else {$search .= " AND a.published = 1";}
if (($ot != "")&&($do == "")) {
$search .= " AND a.published = 1 and a.$fsearch->name >= ".$ot;
} else {$search .= " AND a.published = 1";}
if (($ot == "")&&($do != "")) {
$search .= " AND a.published = 1 and a.$fsearch->name <= ".$do;
} else {$search .= " AND a.published = 1";}
break;
Теперь смотрим adsmanager.html.php в функции show_search
Заменяем в switch()
case 'price':
echo M_OT; echo " \n";
echo "<select class='mobile' id='".$fsearch->nameo."' name='".$fsearch->nameo."'>\n";
echo "<option value='' >".M_POFIG."</option>\n";
if (isset($field_values[$fsearch->fieldid])) {
foreach($field_values[$fsearch->fieldid] as $v)
{
$ftitle = mobile_html::getLangDefinition($v->fieldtitle);
$nameoint = str_replace(' ','',$v->fieldtitle);
echo "<option value='$nameoint' >$ftitle</option>\n";
}
}
echo "</select>\n";echo " \n";
echo M_DO; echo " \n";
echo "<select class='mobile' id='".$fsearch->named."' name='".$fsearch->named."'>\n";
echo "<option value='' >".M_POFIG."</option>\n";
if (isset($field_values[$fsearch->fieldid])) {
foreach($field_values[$fsearch->fieldid] as $v)
{
$ftitle = mobile_html::getLangDefinition($v->fieldtitle);
$namedint = str_replace(' ','',$v->fieldtitle);
echo "<option value='$namedint' >$ftitle</option>\n";
}
}
echo "</select>\n";
break;
В строках $nameoint = str_replace(' ','',$v->fieldtitle); и namedint = str_replace(' ','',$v->fieldtitle); убираем пробелы из полей, чтобы на фронтенде цифры выглядели презентабельно.
Записываем как 10 000, а сравнение идет как 10000.
В базе добавляем дополнительные поля. Таблица jos_adsmanager_fields. Добавлять можно только те поля которые у Вас будут учавствовать в поиске.

Прописываем языковые файлы.
Все! Теперь можете добавлять любое количество полей типа price, которые могут быть и "пробегом" и "возрастом".
ЗЫ кстати в топике
http://joomlaforum.ru/index.php/topic,47980.0.html ошибочка (Не в обиду автору. Кстати ему спасибо.)
там
$search .= " AND a.published = 1 and a.ad_price >= ".$cenaot;
} else {$search .= " AND a.published = 1";}
if (($cenaot == "")&&($cenado != "")) {
$search .= " AND a.published = 1 and a.ad_price >= ".$cenado;
Надо:
$search .= " AND a.published = 1 and a.ad_price >= ".$cenaot;
} else {$search .= " AND a.published = 1";}
if (($cenaot == "")&&($cenado != "")) {
$search .= " AND a.published = 1 and a.ad_price <= ".$cenado;