Подскажите путь по реализации фасетного поиска. [Двигаюсь дальше]

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

Аватар пользователя VasyOK VasyOK 10 июля 2014 в 3:42

Есть словари Тип и Бренд.

Поставил Search API + Facet API. Сделал ими на views страницу с фасетами (все работает):

А как эти модули использовать если на странице бренда нужен выбор типа?
При этом страница бренда должна иметь урл sitename.com/brand

Предварительное решение.
Во вьюхе, которой выводяться результаты поиска поставить контекстный фильтр Найти: Indexed taxonomy term fields
И прописать путь страницы вьюхи taxonomy/term/%

Недостаток:
При выборе одного пункта (бренда) из фасетного фильтра исчезают остальные пункты (рис). Как это побороть?

Еще вопрос: а как на странице ноды фасеты вывести?

ВложениеРазмер
Иконка изображения faxetisearch.gif22.17 КБ
Иконка изображения faxetisearch2.gif14.19 КБ
Иконка изображения faxetisearch3.gif10.7 КБ

Комментарии

Аватар пользователя Sandy Big Boy Sandy Big Boy 10 ноября 2015 в 11:49

"VasyOK" wrote:
При выборе одного пункта (бренда) из фасетного фильтра исчезают остальные пункты (рис). Как это побороть?

Нужно чтобы в настройках у фасета был выставлен оператор OR, см. рис.

Аватар пользователя VasyOK VasyOK 11 июля 2014 в 14:58

Sandy Big Boy, or там везде поставлено.

Т.е. если я перешел на страницу термина Casio:
могу выбрать тип Кварцевые + механические + электронные в любых комбинациях.
не могу выбрать бренд Casio + Rado + Zenith

Если перйти на страницу типа Механические - там все наоборот

На страницу термина я перехожу т.к. у меня вьюха через аргумент термин таксономии выводится.

Аватар пользователя VasyOK VasyOK 10 ноября 2015 в 11:49

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

Все прекрасно работает, все фильтры друг с другом дружат.

А как фасетные блоки расположить:
1) на странице термина
2) на странице ноды
?

Сейчас фасетные блоки только на странице вьюхе (/front)
я понимаю что рецепт тут https://www.drupal.org/node/2017007но пока не могу вкурить что там пишут

Аватар пользователя VasyOK VasyOK 11 июля 2014 в 22:57

Разобрался с https://www.drupal.org/node/2017007. Оказывается надо создать во вьюхе дисплей Facets block и поставить его ПЕРЕД блоками-фильтрами. Я ставил после а не до потому и не работало.

Теперь проблема: на терминах таксономии и нодах блоки с фильтрами есть.
Но они начинают фильтровть с адреса ноды.
Т.е. я на странице ноды делю фильтр он формрует ссылку node/398/field_katalogilink/casio-200
А надо front/field_katalogilink/casio-200

Аватар пользователя VasyOK VasyOK 12 июля 2014 в 22:44

Собственно именно благодаря ему ссылки такового вида Smile
А как вы сделали на панелях. Можете сайт показать?

Я могу рушить свою задачу. Но к вьюхе генерируемой search api придется приявзать модули выборки по таксономии + выводить найденную ноду AJAX-ом.

Но люди на drupal.org просто на search api как-то умудряются фасеты делать и переходить на них с любой страницы сайта.

Аватар пользователя Sandy Big Boy Sandy Big Boy 14 июля 2014 в 9:49

У меня нет фасетов по термину таксономии, поэтому конкретно этот случай я показать не могу. Говоря о панелях я имел ввиду, что с помощью Page manager можно переопределять вывод и нод и страниц терминов таксономии, в том числе вставляя блоки фасетов куда нам нужно.