Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как правильно - создать Фильтр Товаров(в Oscar) ? [RSS Feed]

#1 Окт. 2, 2015 21:44:07

LighFusion
Зарегистрирован: 2015-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

Здравствуйте ! возник вопрос касательно того, как следует задать фильтрацию для объектов - в Oscar(Django)
Ибо на сколько я знаю, нету готовых решений в этом направлении, собственно моя идея :
Сам фильтр должен представлять собой - несколько DropBox'ов+title, Title - название филтра( к примеру цвет), наследуется от атрибутов - определенной категории(к примеру платья, хотя тут остается проблем в том чтобы снова добавлять этот же атрибут для другой категории, наверное следует здесь по другому сделать, образовав родительский класс для некоторых фильтров и потом добавлять его к категориям).

А вот само значение этих Атрибутов, должно заполняться в DropBox, как это сделать я не очень понимаю, поскольку в Oscar есть в принципе -DropDownBox http://i.imgur.com/8i0bk4n.png?1 , но он привязан к конкретным параметрам, и там по сути идет выбор из заранее определенного массива, а те атрибуты динамичны(то есть добавляются из админки).

На счет отображения, я думал в принципе взять метод который распределяет товары по категориям, то есть при клике на категорию книги, отображаются нужные товары, но я не очень понимаю в том как устроена структура в Oscar, не мог бы мне кто-то помочь в этом ?

P.S.
пример фильтрации, которая примерно мне и нужна !
http://www.dota2.com/store/?l=russian#cat=3776899405

Отредактировано LighFusion (Окт. 2, 2015 21:48:39)

Офлайн

#2 Окт. 4, 2015 20:35:49

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

solr прикручивал http://django-oscar.readthedocs.org/en/latest/howto/how_to_setup_solr.html ?
с ним появятся фасеты в категориях

Офлайн

#3 Окт. 4, 2015 22:14:33

LighFusion
Зарегистрирован: 2015-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

slav0nic
solr прикручивал http://django-oscar.readthedocs.org/en/latest/howto/how_to_setup_solr.html ?с ним появятся фасеты в категориях
Спасибо за ответ!
Такс поставил solr, но во первых появилась ошибка ‘file’ object is not callable
http://pastebin.com/vKQbTXx5 при - клике на Любой из ChekBox'ов http://i.imgur.com/HrRNYzw.png?1
И второе это опять же - Filter List, мне нужно хоть пускай через checkBox(при нажатии), отображать товары только с теми аттрибутами которые были выбраны.
По сути я немного разобрался в формах(правда не очень уверен что иду в правильном направлении), и взял за основу SearchForm http://pastebin.com/Pi9y9D90 , у меня он представляет собой FilterForm, проблемка в том чтобы присвоить для SORT_BY_MAP = {
CustomsType:Здесь Свойство
TOP_RATED: ‘-rating’,
}
Свойство CustomsType- в моем случае Здесь должно быть CustomsType:product.attribute_values.get(attribute__code=self.attribute, пример кода взял из Scales.py http://pastebin.com/ywFsKpVY , ибо не где больше не смог найти по работе с атрибутами Oscar) , но я совсем не понимаю, каким образом здесь попадает сам объект, ведь они все-таки отображены и так как Result, по сему - требуется ли вообще для данного массива(Sort_by_map) Значения именно от Products(тех что отобразились в результате поиска), ибо по-моему здесь нужны значения от самого метода(который еще добавляет в админку http://i.imgur.com/zepC64l.png?1), а как это сделать и как оно будет выглядеть в - массиве - SORT_BY_MAP - я вообще себе представить не могу ?? поскольку значения динамические, массив заранее определяется, как следует действовать(Доделать что-то в админке, как я описал в первом посте, или что-то другое - я очень хочу это решить!!) ???

Офлайн

#4 Окт. 5, 2015 08:45:27

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

нифига не понял) сортируют по имени поля, а не значению к чему ‘CustomsType:product.attribute_values.get(attribute__code=self.attribute’ ?

судя по строке с ошибкой у тебя не самый последний оскар https://github.com/django-oscar/django-oscar/blob/1.1.1/src/oscar/apps/search/forms.py#L130

попробуй в https://groups.google.com/forum/#!forum/django-oscar написать или в IRC спросить

Офлайн

#5 Окт. 5, 2015 11:00:22

LighFusion
Зарегистрирован: 2015-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

slav0nic
нифига не понял) сортируют по имени поля, а не значению к чему ‘CustomsType:product.attribute_values.get(attribute__code=self.attribute’ ?судя по строке с ошибкой у тебя не самый последний оскар https://github.com/django-oscar/django-oscar/blob/1.1.1/src/oscar/apps/search/forms.py#L130попробуй в https://groups.google.com/forum/#!forum/django-oscar написать или в IRC спросить
А откуда это поле берется ? из Базы ?
Мне же ведь - не сортировать надо,а по атрибутам фильтровать(то есть чтобы нужный товар появлялся, а не нужный без атрибутов или с другими, пропадал) ?

А что мне на форум то написать ? про фильтр ?

P.S.
Такс с ошибкой разобрался это из-за моих махинаций было !

Отредактировано LighFusion (Окт. 5, 2015 17:18:50)

Офлайн

#6 Окт. 8, 2015 12:20:54

LighFusion
Зарегистрирован: 2015-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

Ну так что кто-то поможет ?

Офлайн

#7 Окт. 10, 2015 22:53:52

LighFusion
Зарегистрирован: 2015-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно - создать Фильтр Товаров(в Oscar) ?

Немного доработал я фильтр - для атрибутов - результат , но это не совсем то что надо, и я не могу понять как возможно реализовать ChoiceField(DropDown Menu)/выпадающий список Form Для Haystack, в оригинале оно выглядит таким образом

product_class = indexes.MultiValueField(null=True, faceted=True) 
Каким образом можно реализовать выпадающее меню для HayStack и на сколько это вообще реально ?

Офлайн

  • Начало
  • » Django
  • » Как правильно - создать Фильтр Товаров(в Oscar) ?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version