@loed

Поиск и сортировка товара средсвами css + js без БД?

Вопрос такого плана. Сайт на html. Существует 5 основных статичных страниц с главными категориям товара www.sait.ru/dolb.shtm. На каждой из этих страниц стоит css +js «фильтр» который сортирует по классам в дивах
<div id="opisbaza" class=" kamiz ctacionar do100 cena6">    ТОВАР1</div>   
<div id="opisbaza" class=" kottedj dom  do50 cena2">    ТОВАР2</div>

При сортировке url принимает такой вид www.sait.ru/dolb.shtml#.cena5-6.debarkader.do100
Задача стоит в следующем:
Теперь каждой странице сайта создать форму подбора товара. Когда человек выбирает
определенные параметры (из них 5 основных и 7-8 дополнительных) жмет
"поиск" и его перекидывает на одну (например вот на такую www.sait.ru/dolb.shtml#.cena5-6.debarkader.do100 ) из 5ти основных статичных страниц
(в зависимости от выбранного основного параметра их 5 всего ). При этом на
этой статичной странице сразу срабатывает css фильтр согласно выбранным
дополнительных параметров (их около 7-8)
Т.е при фильтрации формируется url для перехода…. Когда выбирается главная категория – подставляется основная страница например /dolb.shtm (одна из 5 ти) далее при выборе второстепенных параметров добавляется .cena5-6 .do100 и тд
Можно ли это как то реализовать средствами js или php?
  • Вопрос задан
  • 1322 просмотра
Пригласить эксперта
Ответы на вопрос 1
@KnightForce
На JS нужно получать все товары и по ним фильтровать.
Допустим у тебя 200 столов. 100 на 3 ногах, 200 на 4. 50 с квадратной крышкой, 150 с круглой.
Все это выглядит, например, так:
var tables = [
    {
        legs: 4, //Ножки стола
        cap: "squard" //Вормы крышки
    }
];
// В массиве типа 200 элементов
function sorting(params) {
    //объект с параметрами сортировки, типа "cap": "squard"
  
    return tables.filter((item)=>{
        let counter = true;
        for(let key in params) {
           counter =  (item[key]==params[key]);
           if(!counter) return false;
        }
        return true;
    }); 
}


Это очень абстрактно, для примера.
И выводи.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы