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


Фото
- - - - -

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

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

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

#1 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 12.03.2013 - 14:45



Внутри инструкция и файлы из дефолтной симплы с кодом для слайдера, критика(без "я бы лучше сделал"), вопросы, пожелания и т.д. в теме, каждого консультировать по установке времени не хватит :)

Что умеет:
- минимальная-максимальная цена из текущей категории (на странице все товары соответственно из всех товаров);
- сохраняет фильтр при переходе на страницы, страницы считаются с учетом фильтра;
- сохраняет в куки значение фильтра для каждой категории в отдельности

UPD 06.04.13: Скачать



#2 Rash

Rash
  • Пользователь
  • 450 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Russian Federation

Опубликовано 12.03.2013 - 14:55

VladP, если это еще и работает то ваще супер! =D>



#3 delprofile

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

Опубликовано 12.03.2013 - 15:01

А теперь вопрос

		if(!isset($current_max_price) && empty($current_max_price))
			$current_max_price = $max_price;


Это что?
!isset($current_max_price)

это и есть
empty($current_max_price)


так как isset проверяет на наличие переменной
проще говоря !isset = empty



#4 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 12.03.2013 - 15:09

delprofile, ты не прав.
http://php.net/manua...ction.isset.php
http://php.net/manua...ction.empty.php

<?php
	$test = '';

	$isset = isset($test);
	$empty = empty($test);

	var_dump($isset);
	var_dump($empty);
?>


переменная пуста, но isset вернет true, потому что она существует, empty тоже вернет true, потому что она пуста



#5 delprofile

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

Опубликовано 12.03.2013 - 15:51

Ок да попутал. Лучше бы пример сделал а не скрин



#6 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 12.03.2013 - 16:02

Написал уже после того как ты исправил свое сообщение, если подскажите какой-нибудь бесплатный хостинг с поддержкой пхп, сделаю демку

Ситуация когда не применяется фильтр, при попытке получить переменную min_price через функцию post, эта функция вернет null, т.е. при проверке попадет под !isset
Ситуация когда человек вручную удалил данные из поля фильтра, в таком случае функция post вернет пустую строку, и соответственно в $current_min_price попадет пустая строка, которая пройдет проверку в !isset, но не в empty



#7 osben

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

Опубликовано 12.03.2013 - 17:15

VladP
Уважаю публичный труд, но подумай, по тестируй, исправь баги-недоработки явные присутствуют.



#8 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 13.03.2013 - 08:21

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



#9 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 345 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 13.03.2013 - 14:39

Бесплатный хостинг с ПХП и СКЮЛЬем http://ho.ua



#10 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 13.03.2013 - 16:15

http://simplatest.ho.ua/
Есть баги с выборкой, если у товара в категории несколько вариантов. Я это предполагал, но для проекта на котором это делалось, варианты товаров не использовались. Возможно, когда будет свободное время доделаю, возможно кто-то сам допишет и выложит в паблик



#11 DarAmal

DarAmal
  • Пользователь
  • 687 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 13.03.2013 - 23:05

клевая вещь, только вот если и для вариантов предусматривалась, то вообще было б крутяк ))



#12 Romalibert

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

Опубликовано 17.03.2013 - 17:48

Не рботает, всё сделал по иструкции, формы появились, слайдера нет, JS подключён, скрипт в head вставил, файлы все заменил, проверил чтобы в них всё из инструкции присутствовало и слайдер так и не появился



#13 Romalibert

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

Опубликовано 17.03.2013 - 18:24

Извиняюсь, всё разрешилось, нужно было в скрипт автозаполнитель поиска вставить ваш код, в инструкции этого нет, нашёл на Вашем сайте,
появился следующий вопрос, цена конечно берётся минимальная и максимальная из текущей категории, но если в категории больше тысячи товаров, то цена максимальная задаётся не верно, это баг?
В любом случае спасибо большое!



#14 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 06.04.2013 - 05:13

Обновил, поправил баг с вариантами и максимальной ценой в категории, на тестовом сайте версия симплы 2.2.1



#15 DarAmal

DarAmal
  • Пользователь
  • 687 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 06.04.2013 - 05:27

VladP, Спасибо большое!



#16 DarAmal

DarAmal
  • Пользователь
  • 687 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 06.04.2013 - 06:00

Чет не вышло у меня (( Правда версия 2.1.0
появились только 2 строчки и кнопка "Применить"



#17 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 06.04.2013 - 06:07

в index.tpl подключение скритов так:

<script src="http://code.jquery.c...1.js"></script>
<script src="http://code.jquery.c...i.js"></script>



#18 DarAmal

DarAmal
  • Пользователь
  • 687 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 06.04.2013 - 06:09

это я прописал. вот только это куда точнее вставить: ??

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));
    }
});



#19 VladP

VladP
  • Пользователь
  • 46 сообщений

Опубликовано 06.04.2013 - 06:10

можно после "Автозаполнитель поиска", но в пределах $(function() { });



#20 DarAmal

DarAmal
  • Пользователь
  • 687 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 06.04.2013 - 06:15

поставил, вроде прокрутка появилась, но только одна и в полях стоит надпись: NaN







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

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

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