Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
26 / 26 / 5
Регистрация: 29.05.2013
Сообщений: 151
1

Фильтры для товаров

25.04.2014, 22:07. Показов 6877. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.

Все видели в интернет-магазинах фильтры для выбора товаров по определенному критерию (разрешению экрана, цене, объему памяти етсетера).

Как принято это исполнять для "разношерстных" товаров? Буду благодарен за ссылки для почитать.

Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2014, 22:07
Ответы с готовыми решениями:

Фильтры для товаров
Добрый день,как реализовать разные группы фильтров для разных категорий, для ноутбуков к примеру...

Фильтры по товарам интернет магазина. Запрос выдающий список пустых фильтров (не меняющих выдачу товаров)
Всем привет. Задачка не самая простая, по крайней мере для меня. для начала: имеется сайт...

Фильтры сводной таблицы, категории товаров "Сумма по полю."
Вообщем есть список - по нему сводная (в примере). Обратите внимание на категорию товара. Вопрос:...

Задан некоторый набор товаров. Определить для каждого из товаров, какие из них имеются в каждом из n магазинов,
Помогите пожалуйста! Задан некоторый набор товаров. Определить для каждого из товаров, какие из...

5
26 / 26 / 5
Регистрация: 29.05.2013
Сообщений: 151
27.04.2014, 11:07  [ТС] 2
Ап! Совсем, совсем ни кто не подскажет в какую сторону копать? Подробностей не нужно, достаточно пнуть в нужном направлении. Гугл как-то очень суров касательно этой темы. Спасибо.
0
519 / 511 / 68
Регистрация: 19.09.2011
Сообщений: 826
27.04.2014, 13:11 3
Цитата Сообщение от ldkldk Посмотреть сообщение
Как принято это исполнять для "разношерстных" товаров?
Не то что бы сложно, это все зависит от схемы бд и конкретных требований.
В кратце что-то типа такого:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SearchModel{ 
  public string Name{get;set;} 
  public int? PriceFrom{get;set;}
  public int? ProceTo{get;set;}
}
 
ActionResult Search(SearchModel model){
    IEnumerable<Item> result = _repo.GetItems();//Все товары
    if(!string.IsNullOrEmpty(model.Name))
      result = result.Where(x=>x.Name.Contains(model.Name));
    if(model.PriceFrom.HasValue)
      result = result.Where(x=>x.Price >= model.PriceFrom);
    if(model.PriceTo.HasValue)
      result = result.Where(x=>x.Price <= model.PriceTo);
    return View(result);
}
Такой подход будет иметь право на жизнь, если используется EF или Linq2sql.
Для других технологий/orm могут использоваться другие подходы.
0
26 / 26 / 5
Регистрация: 29.05.2013
Сообщений: 151
27.04.2014, 20:46  [ТС] 4
Цитата Сообщение от y-fox Посмотреть сообщение
конкретных требований.
Да, пожалуй совсем плохо сформулировал вопрос. За ваш ответ благодарю, но такое мы и сами умеем.

Попробую выразиться точнее.

Пользователь создает категорию товаров. И к каждой категории волен добавлять произвольное количество необходимых св-в (вес, экран, объем памяти етсетера). Пусть пока речь идет о св-вах только текстового типа.

Как я пока вижу, каждое из св-в, предполагающихся для сортировки, можно было бы помечать а-ля IsFiltered. Далее вопрос состоит в том как бы автоматически получать некий объект Filter (получается, что разный для каждой категории; т.е. реализующий разную логику поиска по разным св-вам категорий).

Насколько я понимаю, получать такой объект автоматически не получится (но спросить должен, а вдруг?) и поэтому свой Filter для каждой категории нужно заставлять создавать пользователя. Тут появляется еще куча нюансов: как разбивать диапазон значений св-ва, разбивать ли вообще, вводить ли помимо текстового типа св-в еще числовой и булевый и прочее. Плюс весь набор св-в учавствующих в фильтрации хотелось бы передавать в контроллер одной строкой а-ля /filter/manufacturer=ibm;core_num=2;op_system=android/ ...

Одним словом, вопросов и наметок много, ответы на них в стройную концепцию пока не выстраиваются. В общем поэтому и спросил за какой-либо пример. Пока изучаю Specification Pattern, но тоже особо не могу понять, каким боком его приспособить к моим нуждам.

Как-то так. Прошу прощения за сумбур. Да, орм - EF.
0
519 / 511 / 68
Регистрация: 19.09.2011
Сообщений: 826
28.04.2014, 11:12 5
Лучший ответ Сообщение было отмечено ldkldk как решение

Решение

Есть свойста:
C#
1
2
3
4
5
ProductProperty{ 
  int id;
  int categoryId;
  string PropertyName;
}
Есть значения этих свойств:
C#
1
2
3
4
5
ProductPropertyValues{ 
  int PropertyId; 
  int ProductId; 
  string Value;
}
Дальше:
C#
1
2
3
4
5
6
7
8
9
SearchPropertyModel{
   int PropertyId;
   string Value;
}
 
SearchModel{
   int CategoryId;
   ICollection<SearchPropertyModel> Properties;
}

C#
1
2
3
4
5
6
7
ActionResult Search(SearchModel model)
{
    var products = _repo.GetProductsFromCategory(model.CategoryId);
    foreach(var prop in model.Properties.Where(x=>!string.IsNullOrEmpty(x.Value))
        products = products.Where(x=>x.PropertyValues.Any(x=>x.Id == prop.PropertyId && x.Value.Contains(prop.Value));
    return View(products);
}
Список все свойств подгружайте по ajax в зависимости от категории.
1
26 / 26 / 5
Регистрация: 29.05.2013
Сообщений: 151
28.04.2014, 11:24  [ТС] 6
Цитата Сообщение от y-fox Посмотреть сообщение
Есть свойста:
Цитата Сообщение от y-fox Посмотреть сообщение
Есть значения этих свойств:
Вы прям мою модель описали) Огромное спасибо, дошло)
0
28.04.2014, 11:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2014, 11:24
Помогаю со студенческими работами здесь

Добавление в базу данных товаров, удаление товаров, редактирование товаров
Подскажите, насколько сложно и вообще можно ли реализовать на WP следующие вещи. 1) Добавление в...

Фильтры для формы
Всем привет, задача перенести таблицу в mysql, и сделать фильтры по моделям и по организации....

Фильтры для usb
Рассматриваю подключение usb к stm32f407. В discovery делают вот так: ...

Фильтры для элементов UI
Подскажите ребята программеры. Есть ли возможность применить какие то эффекты к тексту например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru