Изначальные min/max-цены берутся по выбранной категории,
включая вложенные любого уровня и дополнительные категории.
1. В head.tpl.html вписываем линки на jquery-ui и css от него.
Ну и на сам jquery, если он еще не вписан:
2. в filter.tpl.html
2.1. после
вставляем:
2.2. вместо строк
{$smarty.const.STRING_PRICE_TO}
{$priceUnit}
вставляем
{$smarty.const.STRING_PRICE_TO}
{$priceUnit}
3. в advanced_search_in_category.php
вместо строк:
if ( isset($_GET["search_price_from"]) ) $smarty->assign( "search_price_from", $_GET["search_price_from"]);
if ( isset($_GET["search_price_to"]) ) $smarty->assign( "search_price_to", $_GET["search_price_to"]);
вставляем:
if (!isset($_GET["search_price_from"]) && !isset($_GET["search_price_to"]))
{
function recursiveCat($catID,$arrayID=array())
{
$data = db_query("select categoryID from ".CATEGORIES_TABLE." where PARENT=".$catID);
while ($row = db_fetch_assoc($data))
$arrayID = recursiveCat($row['categoryID'],$arrayID);
$arrayID[]=$catID;
return $arrayID;
}
$catIDs = implode(",",recursiveCat($categoryID));
$data = db_query("select min(t1.price) as min, max(t1.price) as max from ".PRODUCTS_TABLE." t1, ".CATEGORIY_PRODUCT_TABLE." t2
where t1.enabled=1 and (t2.categoryID in (".$catIDs.") and t1.productID=t2.productID
or t1.categoryID in (".$catIDs."))");
if ($row = db_fetch_assoc($data)) {
$max_price = $row['max'];
$min_price = $row['min'];}
else {
$min_price = 0;
$max_price = 0;}
$price_from = round($min_price*$selected_currency_details["currency_value"], $selected_currency_details["roundval"]);
$price_to = round($max_price*$selected_currency_details["currency_value"], $selected_currency_details["roundval"]);
$smarty->assign( "search_price_from", $price_from);
$smarty->assign( "old_search_price_from", $price_from);
$smarty->assign( "search_price_to", $price_to);
$smarty->assign( "old_search_price_to", $price_to);
}
else
{
if ( isset($_GET["search_price_from"]) ) $smarty->assign( "search_price_from", $_GET["search_price_from"]);
if ( isset($_GET["search_price_to"]) ) $smarty->assign( "search_price_to", $_GET["search_price_to"]);
if ( isset($_GET["old_search_price_from"]) ) $smarty->assign( "old_search_price_from", $_GET["old_search_price_from"]);
if ( isset($_GET["old_search_price_from"]) ) $smarty->assign( "old_search_price_to", $_GET["old_search_price_to"]);
}
4. в category.php
после строк:
if ( isset($_GET["search_price_from"]) )
$url .= "&search_price_from=".$_GET["search_price_from"];
if ( isset($_GET["search_price_to"]) )
$url .= "&search_price_to=".$_GET["search_price_to"];
вставляем:
if ( isset($_GET["old_search_price_from"]) )
$url .= "&old_search_price_from=".$_GET["old_search_price_from"];
if ( isset($_GET["old_search_price_to"]) )
$url .= "&old_search_price_to=".$_GET["old_search_price_to"];
таких мест там два, вот в обоих местах и вставляем
PS. Работающий пример можно посмотреть тут