1. Внимание! Пользователи форума Null-Prog.ru, сейчас на сайте идёт полное реорганизация. По просьбам большинства, постепенно вводится внутренняя валюта сайта для покупки VIP контента ПОШТУЧНО! В связи с чем ближайшие 4 дня могут быть перебои в работе, недоступность (кратковременная) сайта. Если сейчас УЖЕ вам нужен какой либо контент, обращаемся в личку. Все, купившие VIP ранее, сохраняют свой статус и их эти новшества никак не затрагивают. Касательно использования валюты, будет мануал позже. Спасибо за понимание. 

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

    Так как раздел новый, информация будет пополнять каждый день. Если есть какие либо замечания по этому разделу, отписываемся в соответствующий раздел форума, либо в личку.

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

ХАК Слайдер с ползунками выбора min/max цены в штатном Фильтре товаров

Тема в разделе "Модули", создана пользователем Sam Jack, 13 май 2015.

Метки:
  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    12.037
    Симпатии:
    2.466
    Слайдер с ползунками выбора min/max цены в штатном Фильтре товаров

    Выбор диапазона цен в "фильтре товаров" слайдером с двумя ползунками.
    Изначальные min/max-цены берутся по выбранной категории,
    включая вложенные любого уровня и дополнительные категории
    Код:
    1. В head.tpl.html вписываем линки на jquery-ui и css от него.
    Ну и на сам jquery, если он еще не вписан:
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css"> <script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.<acronym title="javascript">js</acronym>"></script> <script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/
    2. в filter.tpl.html
    
    2.1. после
    <input type="text" name="search_name" style="width: 150px; margin-top: 2px;" value="{$search_name|default:""}"> <div class="fil"></div>
    вставляем:
    <script> {literal} $(function() { $("#slider").slider({ {/literal} range:true, min:{$old_search_price_from}, max:{$old_search_price_to}, values:[{$search_price_from},{$search_price_to}], step:1, {literal} slide:function(event,ui) { $("#price_from").val(ui.values[0]); $("#price_to").val(ui.values[1]); } }); {/literal} $("#price_from").val({$search_price_from}); $("#price_to").val({$search_price_to}); $("#old_price_from").val({$old_search_price_from}); $("#old_price_to").val({$old_search_price_to}); {literal} }); {/literal} </script> <div id="slider"></div>
    2.2. вместо строк
    <input name="search_price_from" type="text" style="width: 40px;" value="{$search_price_from|default:""}" > {$smarty.const.STRING_PRICE_TO} <input name="search_price_to" type="text" style="width: 40px;" value="{$search_price_to|default:""}" > {$priceUnit}</td>
    вставляем
    <input name="search_price_from" type="text" style="width: 40px" id="price_from"> <input name="old_search_price_from" type=hidden id="old_price_from"> {$smarty.const.STRING_PRICE_TO} <input name="search_price_to" type="text" style="width: 40px" id="price_to"> {$priceUnit}</td> <input name="old_search_price_to" type=hidden id="old_price_to">
    3. в advanced_search_in_category.php
    
    вместо строк:
    <code><code>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"]);</code></code>
    вставляем:
    <code><code>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"]);
        } </code></code>
    
    4. в category.php
    
    после строк:
    <code><code>   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"];
    </code></code>
    вставляем:
    <code><code>    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"];</code></code>
    таких мест там два, вот в обоих местах и вставляем
     
    Метки:

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...