[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание фильтра товаров на js
Страницы: 1, 2
шура2222
Пример

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

в админке задается тип свойства товара например флажок, или слайдер

если слайдер то даное свойство должно выводиться как ползунки если флажок то как флажок

при все при этом при выборе любого значеня должно появится что то типа виджета с количеством товаров подобранным по выбранным свойствам и кнопкой показать

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

сейчас еси свойство одно то оно полнуками филтрует товары а вот когда я добавляю еще одно и еще несколько то первое работает а для всех остальных ползунка нет (

к моему сожалению ни дизайн ни коды я не могу показать так как не имею на это право та как это новая фирма которая разработала эту CMS я устраиваюсь туда работать и мне дали задание тестовое сделать этот фильтр (

а по тем кодам что выложил их я попереименовал и выложил )

в общем если есть возможность помагите с моим кодом что бы он делал так как я хотел

walerus
шура2222
Шура проблема в том, что в том коде что ты дал, а именно
КОД HTML
<div class="filter_group">
{* Feture range *}
<input class="min_input" id="fn_features_slider_id" name="featuresfilter[id]" value="{$f->id}" data-features="{$f->id}" type="text">
<div
class="features_range">
<div
class="features_label">
<input
class="min_input" id="fn_features_slider_min" name="featuresfilter[min]" value="{($prices->current->min|default:$prices->range->min)|escape}" data-features="{$prices->range->min}" type="text">
</div>
<div
class="features_label max_price">
<input
class="max_input" id="fn_features_slider_max" name="featuresfilter[max]" value="{($prices->current->max|default:$prices->range->max)|escape}" data-features="{$prices->range->max}" type="text">
</div>
</div>

{* Features slider *}
<div id="fn_slider_features"></div>
</div>

всего ОДИН слайдер. Ты не пояснил, в каком диве располагаться будут остальные фильтры(слайдеры, кнопочки, чекбоксы и т.д.), какая разметка для них будет использована, какие события будут происходить при изменении их состояния, допустим со слайдерами ты написал, при изменении будет показываться "виджет", я так понял это будет "тултип" в котором будет показано количество найденных товаров и на который можно нажать, для отображения результата. А что будет при изменении чекбоксов?, тоже будет появляться "тултип" или нужно будет нажать "поиск" и так еще можно кучу вопросов задать, потому что - НЕ видно твоего кода и разметки страницы.

Я как раз написал то, что тебе нужно, т.е. можно подключать хоть мульен слайдеров, они никак НЕ идентифиированы, т.е. ID к ним не привязаны, далее, скрипт проходит по DIV`у
<div class="filter_group">
и подсчитывает количество
<div class="features_range">
слайдеров и только после этого с ними работает, опять же по "очень хитрому" или для кого то "незамысловатому" алгоритму, ты же идешь "в лоб", можно и так, но для этого нужно знать: разметку страницы, какие переменные будут использованы, в каком виде отдавать обработчику данные и в каком виде он их будет получать.

Я в первом сообщении(в другой ветке) ответил, как можно (один из вариантов) отправлять данные в обработчик, ты его пробовал? я думаю - нет. Напомню еще раз, можно "обвязать" все "фильтры" в форму и ее отправлять в обработчик (подсказка - serialize() ). Можно и списком необходимых фильтров. Т.е. вариантов реализации большое количество, все зависит от тебя и от твоих способностей.

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

По поводу
Цитата
к моему сожалению ни дизайн ни коды я не могу показать так как не имею на это право
Это все ерунда, рассмотрим такой случай...
Допустим ты им не подошел "тьфу тьфу тьфу", они что цмс`ку будут переделывать? или ты подписал договор о неразглашении в течении 5ти лет )). На то оно и тестовое задание, что бы посмотреть твой стиль написания и логику мышления, а не для того что бы бояться что ты покажешь на своем экране кому то код.

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

зы:
На их ЦМС не претендую - своих хватает.
Извини что на - ты :rolleyes:
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.