Зависимые фильтры

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

Аватар пользователя Forz44 Forz44 3 мая 2012 в 19:52

Здравствуйте. Помогите, возникла проблема. Стоит модуль Views dependent filters, есть 3 поля- страна (содержит 2 значения, Россия и Украина), города России и города Украины. В views в фильтр критерия добавляю поле страна, после него dependent filter, а после города России (В поле страна значение Россия- контролирующее, в зависимость ставлю поле города России). Все бы нормально, но вот после добавления зависимости городов Украины от Страны Украины, все идет не так. Пробовал добавлять новую группу фильтров и ставить разные зависимости( и /или- and/or), но ничего корректного не вышло. Заранее благодарен!

Комментарии

Аватар пользователя Gen85 Gen85 16 мая 2012 в 18:34

"Forz44" wrote:
На 7-ке работает? Модуль hierarchical select стоит, но так и не смотрел его. Спасибо, попробую!

Ну и как? работает?
Может кто нибудь объяснить какой функционал остался от HS для D7?

Аватар пользователя Gen85 Gen85 17 мая 2012 в 15:31

"divined" wrote:
Все в админке могу только крин скинуть, пойдет?

Правильно я тебя понимаю:

  • твой HS работает на Drupal7?
  • "автомобильная индустрия", "заправки","Область София" - это все термины таксономии?
  • и вторые фильтры у тебя вылазят в зависимости от того что выбрано перед ними?

Дай ссылку хотя бы на сайт.

Аватар пользователя divined divined 17 мая 2012 в 16:06

Gen85 - Да все верно
tets.rkreal.biz - в разработке

Forz44 - использовать HS кроме как в админке считаю неразумным. Я и на д6 проекта никогда не использовал HS в views фильтрах.

Аватар пользователя divined divined 17 мая 2012 в 16:58

Я и на д6 проектах никогда не использовал HS в views фильтрах.
---
Я думаю что здесь я сказал что я никогда не применяю HS в user interface.
1. HS работает больше 100мс.
2. Использует визуальное выплывание что портит интерфейс.
3. Не работает при отключенном JS у посетителя.

HS использую только при создании материалов.

Аватар пользователя Forz44 Forz44 17 мая 2012 в 17:22

А вопрос то стоял в фильтрах views на drupal 7. Давно ищу ( часто вижу, что люди тоже ищут), может вы знаете, как реализовать зависимые фильтры в views ?

Аватар пользователя divined divined 17 мая 2012 в 17:48

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

- Что вам мешает сделать поле,
- повесить на него обработчик,
- сделать запрос к базе и
- полученные значения поставить на место второго фильтра?

Нет ничего проще, это ведь азы программирования, это наверное я научился делать 10+ лет назад, когда о php только слухи ходили )

Аватар пользователя divined divined 17 мая 2012 в 17:50

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

Аватар пользователя Forz44 Forz44 17 мая 2012 в 17:55

Вот что у меня на данный момент есть http://avtoruki.com/node/dvig . В фильтре 2 словаря таксономии( если не ставить фильтры, то фильтровать не будет views (т.е. не принимает запрос в url без них). Далее через css скрываю не нужное(ужас ведь) Сделано криво от незнания.

Аватар пользователя divined divined 17 мая 2012 в 18:21

Должно хватить одного термина:

ptid tid name
0 1 Адыгея
1 2 Адыгейск
1 3 Майкоп

грубо! Но смысл ясен.

Когда вы будете фильтровать по термину 1 (Адыгея) в Фильтр попадут также и Адыгейск и Майкоп, если вы в настройках поля HS поставите хранить значения lineage, т.е. полную иерархию.

Если вы будете фильтровать по термину 2 (Адыгейск) то получите также необходимый результат.

Аватар пользователя Forz44 Forz44 17 мая 2012 в 18:26

Просто хотел фильтровать или только по региону или регион вместе с городом, но из-за незнания javascript не могу так сделать

Аватар пользователя divined divined 17 мая 2012 в 18:30

Вам нужно использовать основную форму exposed filter.

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

Аватар пользователя Forz44 Forz44 6 сентября 2012 в 18:37

У меня такая "система". Сайт avtoruki.com , в категориях объявлений- фильтр "регион-город". Но есть недоработки с моей стороны.