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


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


  • Вы не можете ответить в тему
Сообщений в теме: 60

#21 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 February 2012 - 01:53 AM

Вернемся к фильтру

Чего-то я явно не понимаю. Если настраивать характеристики в "редактировании категории" для каждой категории, как оно штатно положено, то все вообще просто:
в filter.tpl.html
вместо строк:

{$smarty.const.STRING_UNIMPORTANT}


а вместо:



вставить

{$params[i].variants[j].value|default:""}



Получим то, что можно увидеть на тестовом сайте. Характеристика "Производитель" была штатно из парсера, "Текстовые форматы" и "Графические форматы" я добавил из описаний (не для всех товаров - для всех было лениво). Собственно, оно и без переделок работает, "из коробки", только выбор не чекбоксами, а выпадающими списками.

Думаю, что между делом доделаю и автоматический набор характеристик (все, что есть в товарах этой категории). Пока сложностей мне не видится, да и бОльшая часть уже сделана при поиске мин-макс цен.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#22 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 February 2012 - 11:31 AM

PS. И таки да, в russian.php надо заменить 'неважно' на 'не важно' :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#23 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 22 February 2012 - 03:28 PM

badisoft, Супер!!! Все работает. Только вот пару моментов заметил)

1. После нажатия на кнопку "подобрать" все выбранные ранее значения сбрасываются.
2. Если выбрать чекбокс, радиобаттон становится неактивным, что правильно, но если выбрать обратно радиобаттон "не важно" то чекбокс остается выбранным, а выборка идет не по "не важно", а по тому чекбоксу, который был выбран :)

А за дополнение огромный респект!)
  • 0
Все "спасибо" в репутацию :)

#24 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 February 2012 - 03:58 PM

1. После нажатия на кнопку "подобрать" все выбранные ранее значения сбрасываются.

Так и должно быть. Это мелочь и ерунда, оставленная на потом, не все сразу.

2. Если выбрать чекбокс, радиобаттон становится неактивным, что правильно, но если выбрать обратно радиобаттон "не важно" то чекбокс остается выбранным

Это странно. Хотя и решаемо тем же onclick=. У меня сбрасывается, что можно увидеть на тестовом сайте. Собственно, сброс остальных фишек при активации кокретной фишки радиобаттона это функция радиобаттона. Я ее немного криво применил, к чекбоксам, но у меня работает. В каком браузере оно происходит, точнее, не происходит? У меня IE. Увижу - ну, напишу к радиобаттону тоже обработку онклика.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#25 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 22 February 2012 - 04:12 PM

badisoft, я не спорю, просто пишу то с чем столкнулся)

Кстати наверно лучше будет сделать так:
Вместо
{$smarty.const.STRING_UNIMPORTANT}

вставить:



а вместо
{$params[i].variants[j].value|default:""}


вставить вот это



тем самым выбор будет происходить и по клику на текст / значение параметра, а не только по объектам. Но это уже мелочи)

---------- Сообщение объединено ----------

Это странно. Хотя и решаемо тем же onclick=. У меня сбрасывается, что можно увидеть на тестовом сайте. Собственно, сброс остальных фишек при активации кокретной фишки радиобаттона это функция радиобаттона. Я ее немного криво применил, к чекбоксам, но у меня работает. В каком браузере оно происходит, точнее, не происходит? У меня IE. Увижу - ну, напишу к радиобаттону тоже обработку онклика.

Firefox 9.0.1, выбираю Texet и Wexler, "не важно" сбрасывается, после нажимаю на "не важно" Texet и Wexler остаются активными + активным становится "не важно"...
  • 0
Все "спасибо" в репутацию :)

#26 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 February 2012 - 05:23 PM

Кстати наверно лучше будет сделать так:

Да, это полезно, спасибо!

Firefox 9.0.1, выбираю Texet и Wexler, "не важно" сбрасывается, после нажимаю на "не важно" Texet и Wexler остаются активными + активным становится "не важно"...

Посмотрел в файрфоксе - да, действительно. Ну и фиг с ним. Значит, в окончательном виде сделаю все на чек-боксах, а логику автосбросов галочек - онкликом, принудительно, не полагаясь на логику браузера :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#27 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 22 February 2012 - 06:15 PM

Посмотрел в файрфоксе - да, действительно. Ну и фиг с ним. Значит, в окончательном виде сделаю все на чек-боксах, а логику автосбросов галочек - онкликом, принудительно, не полагаясь на логику браузера .

да, так будет лучше всего, как на маркете :)
  • 0
Все "спасибо" в репутацию :)

#28 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 February 2012 - 11:29 PM

да, так будет лучше всего, как на маркете :)

Ребята, а до меня у вас просто рука не поднялась эти две строчки в filter.tpl.html изменить? Я-то туда впервые сунулся и офигел, что "уже все сделано до нас", а остальные что? Те, кто уже не первый год ShopCMS копает. Те самые "остальные", которые вместе со мной дрочили на фильтры с ШопКода и от Левиталия :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#29 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 February 2012 - 09:50 AM

Ребята, а до меня у вас просто рука не поднялась эти две строчки в filter.tpl.html изменить? Я-то туда впервые сунулся и офигел, что "уже все сделано до нас", а остальные что? Те, кто уже не первый год ShopCMS копает. Те самые "остальные", которые вместе со мной дрочили на фильтры с ШопКода и от Левиталия


при чем тут ползунки к фльтрам с шопкода Левиталия.... как по мне эти ползунки нах никому не нужны..... это так - для виду..... а в фильтре главное чтобы
1. не нужно было вручную в каждой категории выставлять характеристики
2. что становились неактивными или скрытыми те, которых нет в результатах фильтра.... т.е. чтобы нельзя было в результате получить "нет товаров"

Ну и желательно чтобы фильтрация происходила сразу без нажатия кнопки подобрать - но это уже не так важно.
А внешний вид - оформление ползунки, ссылки, селекты или чекбоксы - это пофигу это не важно - это не так сложно сделать.
  • 0

#30 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 23 February 2012 - 11:22 AM

при чем тут ползунки к фльтрам с шопкода Левиталия.... как по мне эти ползунки нах никому не нужны....

Так и я не про ползунки. Их-то я как раз сам писал и там относительно много кода, а не две строчки. Речь о самом фильтре, который, как оказалось, уже давно штатно реализован. В том или почти в том виде, какой мы собирались покупать в складчине.

1. не нужно было вручную в каждой категории выставлять характеристики

Это да. Но ведь мы уже выяснили, что на Шопкоде и у Левиталия как раз надо это делать, т.е. оставлен штатный уже и так имеющийся алгоритм.
В общем, мне же меньше писать, но я сильно удивлен :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#31 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 February 2012 - 11:28 AM

Речь о самом фильтре, который, как оказалось, уже давно штатно реализован. В том или почти в том виде, какой мы собирались покупать в складчине.


ты не совсем прав..... фильтр реализован но совсем не так как хотелось бы
и что 1. что 2. ни на шопкоде ни у Левиталия нереализовано и они отказываются его делать мотивируя большой нагрузкой на БД

так что вопрос остается открытым.
А фильтр чекбоксами на основе стандартного давно сделан и выложен где-то на форуме..... только смысл.
  • 0

#32 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 23 February 2012 - 01:08 PM

ИМХО, главное для фильтра (основная проблема сейчас) - чтобы никоем образом нельзя было отфильтровать товары так, чтобы в выдаче было 0 (нет товаров), т.к. это уж совсем фигня полная, лучше тогда вообще фильтр не выводить.. разработчики, наверное, всерьез думают что покупатель будет тупо тыкать пальцем в небо чтобы на 100-ый раз вывести себе список товаров, подходящих под фильтр...
  • 0

#33 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 23 February 2012 - 04:50 PM

ИМХО, главное для фильтра (основная проблема сейчас) - чтобы никоем образом нельзя было отфильтровать товары так, чтобы в выдаче было 0 (нет товаров), т.к. это уж совсем фигня полная, лучше тогда вообще фильтр не выводить.. разработчики, наверное, всерьез думают что покупатель будет тупо тыкать пальцем в небо чтобы на 100-ый раз вывести себе список товаров, подходящих под фильтр...

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

#34 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 23 February 2012 - 08:54 PM

как вариант можно просто делать неактивной кнопку подобрать, если после выбора нужных параметров ни один товар не подходит.
но для этого нужно "на ходу" считать и отображать количество найденных товаров

Для этого нужно выводить не список разрешенных в настройках категории характеристик, а список характеристик для всех доступных в рамках поиска товаров. Т.е. объединение всех хар-к в в текущей категории, дочерних категориях и товарах, где текущая/дочерняя категория является доп.категорией. Что я и хочу сделать. В смысле нагрузки на базу оно УЖЕ делается при вычислении диапазона цен для движков слайдера. Как я понимаю, ни у кого база особо не прогнулась под теми двумя или тремя (не помню уже) SQL-запросами.

Я удивлен сентенцией о том, что такой фильтр вызовет большую нагрузку на базу. Там буквально два-три запроса надо, хоть и развесистых. По сравнению с другими моментами работы с базой штатного движка это тьфу, копейки...

---------- Сообщение объединено ----------

А фильтр чекбоксами на основе стандартного давно сделан и выложен где-то на форуме

Осталось понять, зачем мы хотели фильтр Левиталия/Шопкода, если такой фильтр с чекбоксами давно уже выложен "где-то на форуме".
В чем их отличие? Они ровно так же требуют задания списка характеристик в настройках категории.
Чего я не понимаю, не замечаю, не вижу в фильтрах от Левиталия и Шопкода?

Я не просто так спрашиваю, я действительно пока не понял, что же такого выдающегося в этих двух коммерческих фильтрах перед штатным кроме того, что они формат html-тэга поменяли.[MOD="micehide"]В следующий раз поосторожнее с описанием физиологических проявлений человеческой жизнедеятельсти... не всем приятно читать брань, ее и так хватает кругом.[/MOD]
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#35 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 February 2012 - 10:13 PM

badisoft, читай внимательно самые важные вопросы я озвучил, если их реализуешь без нагрузки на БД то Левиталия и Неймера можно будет смело обозвать чайниками..... а ты сможешь на этом подзаработать - т.к. подобный фильтр желает практически каждый владелец магазина )))

ну еще не мешало бы чтобы сразу подсчитывало кол-во результатов ДО фильтрации - ну это уже не самое важное..... - хотя по словам Левиталия тоже создаст огроменшую нагрузку на БД.....

З.Ы. Может ты и прав, не так страшен черт как его малюют, я сам не пробовал это реализовывать, но врядли в ближ. время и попробую..... а учитывая что Левиталий отказался вообще его писать.... то желание пробовать стало еще меньше (((
  • 0

#36 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 23 February 2012 - 10:23 PM

Чего я не понимаю, не замечаю, не вижу в фильтрах от Левиталия и Шопкода?

Ты не замечаешь того, чего в них и нет... данные разработчики выставляют желаемое за действительное...
  • 0

#37 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 24 February 2012 - 11:39 AM

Нашел способ как сбросить все чекбоксы при выборе input'a "не важно":
вместо


вставить


и вместо


вставить



теперь при выборе радио инпута, все выбранные значения (checkbox-ы) для данного параметра сбрасываются.
  • 0
Все "спасибо" в репутацию :)

#38 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 February 2012 - 03:10 PM

чтобы никоем образом нельзя было отфильтровать товары так, чтобы в выдаче было 0 (нет товаров)

На практике это невозможно на мало-мальски товароемком сайте с большим количеством характеристик, т.к. требует выполнения развесистого селекта по каждому нажатию галочки. Сделать, естественно, можно и даже не сложно, но смысл? Пользоваться таким фильтром будет довольно затруднительно :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#39 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 24 February 2012 - 03:14 PM

На практике это невозможно на мало-мальски товароемком сайте с большим количеством характеристик, т.к. требует выполнения развесистого селекта по каждому нажатию галочки. Сделать, естественно, можно и даже не сложно, но смысл? Пользоваться таким фильтром будет довольно затруднительно


ты говоришь глупости - такой фильтр реализован и на Хотлайне и на Яндекс-маркете и на Розетке .....
  • 0

#40 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 February 2012 - 06:16 PM

ты говоришь глупости - такой фильтр реализован и на Хотлайне и на Яндекс-маркете и на Розетке

Заходим на розетку, ставим галочку в "Размер дисплея" на 7" и начинаем считать секунды. Именно это я и имел в виду. А если галочек надо поставить с десяток?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)