Разные фасетные фильтры на разные категории товаров

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

Аватар пользователя alislis alislis 17 октября 2017 в 0:19

Вопрос. У меня есть гипотетический интернет-магазин в вакууме с большим количеством разных товаров. В зависимости от типа товара, должны показываться разные наборы фасеток. Более того - их много. Под каждый тип товара мне приходится прописывать несколько десятков уникальных полей и около 5 словарей терминов, по которым я потом поиск фасетный организовываю. Нерационально, нелогично, и вообще меня саму это бесит, но иначе не выходит.
Так вот. Как мне заткнуть фасетки в конкретные разделы каталога? При чем, что самое интересное - не поисковика по каталогу, где и только где они отображаются, но именно каталога.
(В настройках блока пробовала указывать страницы отображения - не сработало).

Лучший ответ

Аватар пользователя alislis alislis 21 октября 2017 в 0:00

Гы, решение оказалось таким простым...*фейспалм* Включить аякс по вьюхе Smile

Комментарии

Аватар пользователя Olegars Olegars 17 октября 2017 в 1:19

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

Аватар пользователя sas@drupal.org sas@drupal.org 17 октября 2017 в 8:12

Поля предпочтительно термические, если пользуете фасеты, то от их настроек и привязки не уйти, можно делать кастомный каталог с зависимыми фильтрами, тогда их не надо будет настраивать, но это уже "другая песня" и за другие деньги ...

Аватар пользователя alislis alislis 17 октября 2017 в 11:03

Olegars wrote:

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

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

vbard wrote:

http://xandeadx.ru/blog/drupal/695

Хорошая статья для общего развития.


Да, видела, спасибо, мне эта статья еще вначале помогла.

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

Поля предпочтительно термические, если пользуете фасеты, то от их настроек и привязки не уйти, можно делать кастомный каталог с зависимыми фильтрами, тогда их не надо будет настраивать, но это уже "другая песня" и за другие деньги ...

Если под "термическими" Вы подразумеваете таксономию, то да, именно так и есть. А насчет "кастомного каталога с зависимыми фильтрами" - можно немного поточнее? Что конкретно имеется в виду?

Аватар пользователя alislis alislis 17 октября 2017 в 11:18

При входе в каталог любого уважающего себя интернет-магазина ты сразу же видишь фасетки, еще не начав поиск. При чем они зависят от типа товара (иначе кто станет искать смеситель для ванны по характеристикам наушников?))

Аватар пользователя gun_dose gun_dose 17 октября 2017 в 18:17

Если у вас в смесителях видны характеристики наушников, то у вас не фасеты, а обычные раскрытые фильтры views.

Аватар пользователя Olegars Olegars 17 октября 2017 в 16:33

alislis wrote:

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

это противоречит здравому смыслу, вот пример уважающего себя магазина, там фильтры появляются только в конечной категории
https://market.yandex.ru/catalog/54440?hid=198119&track=menu
да вы и сами себя опровергаете
" кто станет искать смеситель для ванны по характеристикам наушников?"
еще раз повторюсь, фасеты показываются на тех страницах каталога, где есть ноды, соответствующие фасету
и еще раз повторю, реальное поле под каждый фильтр, сайту триндец

Аватар пользователя vbard vbard 17 октября 2017 в 16:56

>реальное поле под каждый фильтр, сайту триндец

Да ну не обязательно. Многое зависит от настройки сервера.
Знаю магаз, полей-фасетов под 70 штук, посещалка около 400 уников - всё работает, даже летает, на не суперкрутой впске. На шареде может и лёг бы конечно.

Аватар пользователя Olegars Olegars 17 октября 2017 в 17:10

ну это только радует, что друпал при 70 джоинах не кладет сервер при каждом запросе
но все же лучше так не делать

Аватар пользователя alislis alislis 17 октября 2017 в 22:10

gun_dose wrote:

Если у вас в смесителях видны характеристики наушников, то у вас не фасеты, а обычные раскрытые фильтры views.


У меня сейчас просто страничка поиска, на которой фасеты работают. И несколько страниц каталога, на которой они не работают. Вот я и спрашиваю - как сделать так, чтоб работало.

Olegars wrote:

alislis написал:

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

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

https://market.yandex.ru/catalog/54440?hid=198119&track=menu

да вы и сами себя опровергаете

" кто станет искать смеситель для ванны по характеристикам наушников?"

еще раз повторюсь, фасеты показываются на тех страницах каталога, где есть ноды, соответствующие фасету

и еще раз повторю, реальное поле под каждый фильтр, сайту триндец


Хорошо, окей, конечная страница каталога, пусть конечная, но фасеты просто не открываются на страницах каталога, я вот о чем и говорю!

Аватар пользователя gun_dose gun_dose 17 октября 2017 в 22:57

На страничках каталога выводите вьюху по поисковому индексу, тогда фасеты появятся на ней (естественно, что сами фасетные блоки также необходимо вытащить из региона "отключено" Wink )

Аватар пользователя alislis alislis 17 октября 2017 в 23:18

gun_dose wrote:

На страничках каталога выводите вьюху по поисковому индексу, тогда фасеты появятся на ней (естественно, что сами фасетные блоки также необходимо вытащить из региона "отключено" Wink )


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

Аватар пользователя Olegars Olegars 17 октября 2017 в 23:25

"Глобально я поняла" "Я еще юн и зелен" как то мозг раздваивается.....
вот алгоритм создания каталога https://drupalfly.ru/lesson/create_catalog_drupal7_2
последнюю вьюху надо делать на основе поискового индекса

Аватар пользователя alislis alislis 18 октября 2017 в 9:39

Olegars wrote:

"Глобально я поняла" "Я еще юн и зелен" как то мозг раздваивается.....

вот алгоритм создания каталога https://drupalfly.ru/lesson/create_catalog_drupal7_2

последнюю вьюху надо делать на основе поискового индекса


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

Кстати, по поводу "мозг раздваивается" - понимаете ли, я с Друпалом разбираюсь всего три недели, поэтому могу понять определенные концепции, а как их реализовать - понимаю не всегда. Так же, как любая программа начинается с алгоритма, а потом уже реализуется посредством того или иного языка, мне важно сначала понять ЧТО надо сделать, а потом - КАК))) Так что не пинайте строго - я не волшебник, я только учусь Smile

В общем, спасибо, ребят, буду разбираться)

Аватар пользователя alislis alislis 18 октября 2017 в 11:44

Супер, у меня все вышло. Сделала внутреннюю вьюху, показывающую товар в подкатегориях, по поисковому индексу, и фасеты появляются именно там, где и должны. Королева в восхищении
Только теперь возник другой вопрос. При попытке сортировать товары с помощью вьюшной раскрытой сортировки, она перенаправляет ULR на /?sort_by=....., и оно перекидывает на главную страницу. Если в настройках вьюхи привязать отображение к пользовательскому URL и прописать вручную адрес страницы отображения товара (а у меня три степени глубины каталога, так что это /catalog/oborudovanie-4-pokoleniya/komplekty-4-pokoleniya/4-cilindra то все сортируется наотлично. Но мне ж нужно, чтоб эта вьюха мне с каждой подкатегорией так работала, везде сортировала. Попыталась прописывать taxonomy/term/%1/ и другие варианты, но не выходит. Каков правильный синтаксис??

Аватар пользователя alislis alislis 18 октября 2017 в 17:39

vbard wrote:

https://www.drupal.org/project/search_api_sorts специально для сортировки по индексу. Настраивается не во вьюхе, а там же где индекс.


Поставила, настроила, не моё. Мне нужна открытая форма сортировки для пользователей. Этот модуль предполагает организованную сортировку изнутри. Это и вьюхой можно, чего мудрить. Сортировочный блок активировала, но он даже не отобразился =_="

Аватар пользователя Olegars Olegars 18 октября 2017 в 18:12

vbard wrote:

https://prnt.sc/gyz4xd

https://prnt.sc/gyz3tx

блок называется Search sorts


У вас эта фигня работает? У меня не получилось ее использовать, сортирует только то что отмечено как default, все остальные поля игнорирует

Аватар пользователя alislis alislis 20 октября 2017 в 15:12

Ребят, ну неужели ни у кого больше нет идей? Мне нужно, всего лишь, прописать сортировку так, чтобы оно оставалось на той же странице, а не выкидывало на главную...