smidl
@smidl
фронтенд-безумец

Как работают динамические фильтры в интернет-магазинах?

Помогите мне понять алгоритм работы фильтров в иинтернет-магазинах. Интересно то, что фильтра отсеивает товары по очень разных типам характеристик и при этом обновляет и сам фильтр, с учетом уже отмеченых парметров фильтрации.

https://demo.horoshop.com.ua/mac/

Вот как пример.

  • При выборе фильтра оно шлет данные фильтрации и возвращает отфильтрованные товары
  • Присылается также новый хтмл-КОД ФИЛЬТРА. В котором динамически пересчиталось кол-во товаров в разных параметрах фильтров.
Вопросы:

1) Как хранятся аттрибуты товаров, которые учвствуют в фильтрации? И как они связаны с товарами?
2) Как обновляется кол-во товаров динамическое?
nAyXlEqfYPGw42.png
3) При выборе фильтров меняется урл. Как это устроено?
4) Что можно толкового почитать по этой тематике? Нашел только статью на хабре про фильтр с редисом.
  • Вопрос задан
  • 597 просмотров
Решения вопроса 2
dpr
@dpr
frontend developer
Делаете таблицу в параметрами, при запросе делаете выборку по параметрам из этой таблицы.
Возвращать удобнее голые данные в json (заодно и общее количество присылать) и рендерить на клиенте.
Урл меняется методами History API

С точки зрения фронта всё довольно просто — послали запрос, получили данные, перерисовали страницу.
На бэке приняли запрос, сходили в БД, составили json-ответ, отдали клиенту.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Кратко: "Водопадный спуск" с приоритетом по COUNT с наибольшего к меньшему в таблицах БД 3НФ. => Это самый быстрый способ без "чистого" "дерева".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы