Фильтр товаров средствами Views

Главные вкладки

Аватар пользователя Erly Erly 31 октября 2010 в 23:12

Добрый день, товарищи!

Вроде бы уже определился с решением задачи. Но хочется, чтобы более опытные спецы посмотрели и сказали - правильное решение или нет.

Задача: есть маг на drupal6, ubercart 2, ну и разумеется все нужное: CCK, Views и т.д.
В магазине есть товары с разными характеристиками (пусть товары у нас будут лампочки): мощьность, напряжение на которое рассчитана лампочка, вид цоколя, производитель, цена.
В магазине надо реализовать фильтр, вроде такого, как здесь: http://www.h2odesign.ru/catalog?type=23&shop=391 (в левой колонке, розовый блок "выбираем товар").

Моё предполагаемое решение: к типу материала product с помощью CCK, навешать доп. поля (напряжение и т.д.). Сделать вьюху с фильтрами, в которой пользователь сможет управлять фильтрами, как написано здесь:
http://translate.drupal.ru/node/46928
http://remage.su/content/drupal-urok-vosmoi-eshche-nemnogo-pro-modul-vie...
и соотвественно в фильтрах указать поля CCK, в которых есть нужные характеристики.

Вопрос: решение правильное? Или есть реализации фильтра лушче?
И ещё. При данной реализации, формочка фильтра находится на странице, а мне нужно что бы она была в левом блоке. Я это довольно просто решил - когда готова вьюха, то через фаербаг подсматривал html-код, и его тупо копировал в блок. Может есть цевильное решение этого вопроса? Так что бы в блоке появлялась только формочка фильтра к вьюхе, без выводимых полей.

Комментарии

Аватар пользователя Erly Erly 1 ноября 2010 в 18:16

Спасибо за подсказку. Только вот долго искал, где этот expose filter.
Оказывается всё просто: в настройках вьюхи, раздел "Основные настройки", там 11-я строчка "Отображать в блоке".

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 26 ноября 2011 в 5:38

Народ, а может кто-нибудь подсказать, каким макаром сделали разные фильтры для разных категорий товаров?
Это стандартом не сделаешь походу.

ТОесть в вьювсе есть вывод Page и соответсвенно адрес. Как автоматом высвечивать фильтры по характеристикам, которые есть у данной категории товаров?

Аватар пользователя Erly Erly 26 ноября 2011 в 10:56

"NIKS_ArtReaktor" wrote:
Народ, а может кто-нибудь подсказать, каким макаром сделали разные фильтры для разных категорий товаров?

"NIKS_ArtReaktor" wrote:
Как автоматом высвечивать фильтры по характеристикам

Т.е. у вас получается, что в разных категориях, разные типы нод?
Ну я бы просто сделал бы две разные вьюхи, где поставил бы фильтр по термину таксономии, и нужными характеристиками...

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 29 ноября 2011 в 15:21

"Erly" wrote:
Erly

Ну получается вот как.
Вывожу список товаров уберкарта views-ом. То-есть на странице catalog/1 выводится список товаров который принадлежит к этому таксономическому термину или список подкатегорий.

Заменяю вывод товаров как описано здесь
http://artreaktor.com/metod-2...

Что нужно сделать:
Нужно сделать фильтры исходя из характеристик товара.
Типов товара может быть много и у каждого типа свои характеристики.
Если мы зашли в конкретную категорию, то выводятся характеристики товаров, которые есть у товаров данной категории, а в другой категории характеристики тех товаров.

В моем случае получается, что вьюха участвует ОДНА, выводит товары и фильтры.
Или тогда нужно делать Для каждой категории товаров разные вьюхи.

В идеале все характеристики должны определяться автоматически или пользовательский вариант указания ССК полей, по которым фильтровать.

Пример как на сайте розетки:
http://rozetka.com.ua/notebooks/c80004/filter/preset=netbooks/

Пробовал в views делать exposed фильтры, но идет конфликт с характеристиками других товаров. То есть Если у одного товара нет такой характеристики. И это не админский вариатн.

Можно конечно делать и для каждой категории, но тогда возникает много других ограничений, например, если в данной катгории не будет товаров, а будут только подкатегории, тогда нужно будет менять вьюху.

Очень заинтересовал вариант с ФАСЕТНЫМ поиском.
Удобно тем, что можно создать фасетный поиск только для определенного типа товара, выбрать галочками характеристики. Ну и сам фасетный считает сколько товаров есть и т.д.
Блоки можно выводить только на определенных страницах - тоже "не админский" вариант, но все же.
Пока что не решенная задача с фасетным - это с адресами.

Тоесть catalog/1 выводиться инфа вьюхой. Рядом на этой же странице фасетные блоки. И когда мы делаем выборку фастеным поиском, то нужно сделать как-то оставаться на этой странице чтоли.

Есть вариант вывода результатов фасетного поиска выбранной вьюхой и даже была заплатка как в этой вьюхе "прорезать" exposed filters. на америкосском сайте.
Вот здесь вот хуком http://drupal.org/node/243301

Понимаю, что много написал, но иногда много неточностей в задаче и условиях - это изначально провал. Smile

Присоединяйтесь кто может и хочет! Я думаю, это стоящая задача и будет полезна многим.

Аватар пользователя raspytnik raspytnik 13 декабря 2011 в 19:27

делаешь столько views сколько тебе нужно отдельных блоков с фильтрами.
выводишь фильтры в блоки через экспозед фильтрс
настраиваешь вывод блоков на нужных страницах категорий магазина

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 13 декабря 2011 в 19:54

не юзер френдли...

представь 150 товаров - тоесть 150 классов,,, и для каждого класа свои фильтры, так как у них свои поля ССК и т.д.

Фасетный поиск самое то...
Блоки, галочками отметил по каким сск полям фильтровать и дальше фасетный сам все делает.

при чем я настроил его с вьюхой и фильтрами сочетаться... даже после применения фасетного фильтра, учитывать и фильтры вьюхи...

тут просто вопросы такие:

1) это создание мульти-выбора... тоесть выбора не только одного, а двух и больше вариантов из категории.

2) автосоздание блоков фасетного поиска с прописанным конкретным местонахождением блоков, и видимостью по адресу, например взять за основу base path.

3) возможно переделать модуль таким макаром - чтобы не было 150 блоков, а все выводилось в одном.

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 22 декабря 2011 в 20:16

Есть вариант другой.

Авто динамически генерировать exposed filters views по полям (например ССК) относительно url где они находятся и при этом ограничить вариант выбора сущесвующими у товаров на данной странице.

В общем сделать подобие Faceted search но продвинутей...

Есть у кого идеи? Может кто-то такое уже сделал?