Перейти к содержимому


Фото
- - - - -

UI Slider с фильтрацией цен

цена фильтр диапазон ui slider

  • Чтобы отвечать, сперва войдите на форум
111 ответов в теме

#101 mishanya

mishanya
  • Фрилансер
  • 2 556 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 27.08.2015 - 12:57

Был бы очень благодарен

 

поставил фильтр из первого поста, все работает: http://goo.gl/lo0bH2



#102 GS3

GS3
  • Пользователь
  • 6 сообщений
  • Программирование, Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 27.08.2015 - 13:18

поставил фильтр из первого поста, все работает: http://goo.gl/lo0bH2

А у меня фильтр не применяется, просто обновляет страницу

И скажите ку ставить это:

в файле с JS кодом

var minprice = parseInt($('#minprice').val());

var maxprice = parseInt($('#maxprice').val());

var current_minprice = parseInt($('#current_minprice').val());

var current_maxprice = parseInt($('#current_maxprice').val());

$("input#minCost").val(current_minprice);

$("input#maxCost").val(current_maxprice);

$("#slider").slider({

min: minprice,

max: maxprice,

values: [current_minprice,current_maxprice],

range: true,

slide: function(event, ui){

$("input#minCost").val($("#slider").slider("values",0));

$("input#maxCost").val($("#slider").slider("values",1));

}

});



#103 mishanya

mishanya
  • Фрилансер
  • 2 556 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 27.08.2015 - 13:25

А у меня фильтр не применяется, просто обновляет страницу

И скажите ку ставить это:

в файле с JS кодом

var minprice = parseInt($('#minprice').val());

var maxprice = parseInt($('#maxprice').val());

var current_minprice = parseInt($('#current_minprice').val());

var current_maxprice = parseInt($('#current_maxprice').val());

$("input#minCost").val(current_minprice);

$("input#maxCost").val(current_maxprice);

$("#slider").slider({

min: minprice,

max: maxprice,

values: [current_minprice,current_maxprice],

range: true,

slide: function(event, ui){

$("input#minCost").val($("#slider").slider("values",0));

$("input#maxCost").val($("#slider").slider("values",1));

}

});

 

в index.tpl перед

 

	//  Автозаполнитель поиска
		$(".input_search").autocomplete({


#104 GS3

GS3
  • Пользователь
  • 6 сообщений
  • Программирование, Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 27.08.2015 - 15:44

в index.tpl перед

 

	//  Автозаполнитель поиска
		$(".input_search").autocomplete({

Сейчас у меня, по инструкции, вот что 

Прикрепленные файлы:



#105 mishanya

mishanya
  • Фрилансер
  • 2 556 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 27.08.2015 - 15:45

Сейчас у меня, по инструкции, вот что 

ну это надо смотреть уже код, возможно у вас конфликт js библиотек и проблемы со стилями, так не скажу.



#106 wihr

wihr
  • Пользователь
  • 21 сообщений
  • Заказчик
  • Версия CMS:2.x

Опубликовано 12.09.2015 - 22:15

Здравствуйте

Сделал все по иснтрукции

 

Хотел сделать этот фильтр но у меня он выглядит так 2015-09-12%2022-10-23%20%D0%9C%D1%83%D0%

 

И к тому же не работает

при нажатии кнопки применить какие бы не были числа выводит всеравно все товары

 

 

Что мне делать как его настроить?



#107 Sageron

Sageron
  • Пользователь
  • 21 сообщений
  • Верстка
  • Версия CMS:2.x
  • Откуда:MSK

Опубликовано 15.09.2015 - 10:39

Вероятнее всего у вас стили не подгрузились. Лично мне помогло в products.tpl Так прописать:

 

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="design/{$settings->theme|escape}/css/slider-filt.css" />
<script>
var minprice = parseInt($('#minprice').val());
var maxprice = parseInt($('#maxprice').val());

var current_minprice = parseInt($('#current_minprice').val());
var current_maxprice = parseInt($('#current_maxprice').val());
$("input#minCost").val(current_minprice);
$("input#maxCost").val(current_maxprice);
$("#slider").slider({
    min: minprice,
    max: maxprice,
    values: [current_minprice,current_maxprice],
    range: true,
    slide: function(event, ui){
		$("input#minCost").val($("#slider").slider("values",0));
		$("input#maxCost").val($("#slider").slider("values",1));
    }
});
</script>

<input type="hidden" value="{$minprice}" id="minprice">
<input type="hidden" value="{$maxprice}" id="maxprice">
<input type="hidden" value="{$current_minprice}" id="current_minprice">
<input type="hidden" value="{$current_maxprice}" id="current_maxprice">

<form method="post">
<input type="text" class="slider-input" name="min_price" id="minCost">
<div id="slider"></div>
<input type="text" class="slider-input" name="max_price" id="maxCost">
<input type="submit" class="slider-submit" value="Применить">
</form>

А файл css брать из этого поста.

 

К слову, на счет работоспособности данного решения. Проверял на стандартных 3.6 и 3.7 версиях. Все точно работает, а так же проверял на перегруженных доработкими версиях. Все так же работает. Не работает если у вас стоит покупная доработка мультифильтр или файлы Products.php и ProductsViev.php из шаблона Adaptive.



#108 ExtraBash

ExtraBash
  • Пользователь
  • 119 сообщений
  • Программирование, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Самара

Опубликовано 29.09.2015 - 03:27

В ответ на последнее, с мультифильтром работает, не проходит проверку условие в продуктс.пхп,
вот мой вариант костыля, работает у меня, поправить в 2 местах нужно.

 

if(!empty(intval($filter['max_price'])) && !empty(intval($filter['max_price'])))


#109 ExtraBash

ExtraBash
  • Пользователь
  • 119 сообщений
  • Программирование, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Самара

Опубликовано 30.09.2015 - 13:49

Чтобы сделать на главной, или другой странице такой фильтр, нужно получить минимальную и максимальную цену с вариантов, для этого в конце api/variants.php добавим функцию:

public function get_all_min_max_prices()	
	{			
		$query = $this->db->placehold("SELECT MAX(price) as all_max_price, MIN(price) as all_min_price FROM __variants WHERE `id` IN (SELECT id FROM __products WHERE visible = 1)");
		$this->db->query($query);		
		$all_minmax = $this->db->result();
		return $all_minmax;	
	}

в view/indexview.php

$minmax = $this->variants->get_all_min_max_prices();
$this->design->assign('minmax', $minmax);


а часть кода самого ползунка меняется вот так, про то как сам фильтр сунуть сами наверное разберетесь...

<input type="hidden" value="{$minmax->all_min_price}" id="minprice">
<input type="hidden" value="{$minmax->all_max_price}" id="maxprice">
<input type="hidden" value="{if !$current_minprice}{$minmax->all_min_price}{else}{$current_minprice}{/if}" id="current_minprice">
<input type="hidden" value="{if !$current_maxprice}{$minmax->all_max_price}{else}{$current_maxprice}{/if}" id="current_maxprice">


#110 sansara0891

sansara0891
  • Пользователь
  • 109 сообщений
  • Откуда:Minsk

Опубликовано 18.12.2017 - 17:09

Всем привет. А может есть какая-то возможность сделать диапазонный фильтр по определённому свойству, например вес товара?? не подскажите как это реализовать? или может где готовое решение завалялось на форуме?



#111 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 824 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 18.12.2017 - 17:25

Всем привет. А может есть какая-то возможность сделать диапазонный фильтр по определённому свойству, например вес товара?? не подскажите как это реализовать? или может где готовое решение завалялось на форуме?

Готового не найдёте, у меня есть платное решение.

#112 Алексей Склейнов

Алексей Склейнов
  • Пользователь
  • 150 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Минск

Опубликовано 06.01.2018 - 00:36

Всем привет. А может есть какая-то возможность сделать диапазонный фильтр по определённому свойству, например вес товара?? не подскажите как это реализовать? или может где готовое решение завалялось на форуме?

обращайся))) нарисуем))))







Также с меткой «цена, фильтр, диапазон, ui, slider»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых