Допустим имеются 2 словаря таксономии.
Словарь1: | Словарь2: -А1 | -A2 -B1 | -B2 -C1 | -C2
Требуется, чтобы при размещении этих словарей в блоках можно было бы осуществить динамическую фильтрацию контента по терминам, используя ссылки вида "/taxonomy/term/x,y"
Концепция:
<Блоки в исходном состоянии>
_________________ | Блок "Словарь1" | |_________________| | | | *A1 | | | | *B1 | | | | *С1 | | | |_________________| _________________ | Блок "Словарь2" | |_________________| | | | *A2 | | | | *B2 | | | | *С2 | | | |_________________|
1. При однократном нажатии на любой из терминов, например, "А1", он должен пометиться как активный и переместить нас на свою страницу "/taxonomy/term/А1";
_________________ | Блок "Словарь1" | |_________________| | | | [+]A1 | "/taxonomy/term/А1" | | | *B1 | | | | *С1 | | | |_________________|
а) при повторном нажатии на тот же термин(А1), он должен дезактивироваться, оставляя нас на текущей странице("/taxonomy/term/А1").
_________________ | Блок "Словарь1" | |_________________| | | | *A1 | "/taxonomy/term/А1" | | | *B1 | | | | *С1 | | | |_________________|
2. В одном словаре может быть одновременно активных терминов только 1. Например, если А1 из "Словарь1" уже помечен как активный("/taxonomy/term/A1"), а при этом нажимают "B1" того же словаря (Словарь1), то "А1" дезактивируется, а "В1" активируется и перенаправляет нас на свою страницу "/taxonomy/term/B1".
<Было>
_________________ | Блок "Словарь1" | |_________________| | | | [+]A1 | "/taxonomy/term/А1" | | | *B1 | | | | *С1 | | | |_________________|
<Стало при клике на другой термин того же словаря>
_________________ | Блок "Словарь1" | |_________________| | | | *A1 | | | | [+]B1 | "/taxonomy/term/B1" | | | *С1 | | | |_________________|
3. Если в "Cловарь1" уже активен какой-либо термин(например, "А1" ("/taxonomy/term/A1")), и при этом нажимают любой термин(С2) из "Словарь2", то термин("А1") из "Словарь1" остается активным, а термин(С2) из "Словарь2" помечается также активным и перенаправляет нас на страницу пересекающихся активных терминов ("/taxonomy/term/A1,С2");
<По одному активных терминов в разных словарях>
_________________ | Блок "Словарь1" | |_________________| | | | [+]A1 | | | | *B1 | | | | *С1 | | | |_________________| _________________ | Блок "Словарь2" | |_________________| | | | *A2 | | | | *B2 | | | | [+]С2 |"/taxonomy/term/A1,С2" | | |_________________|
а) если повторным нажатием дезактивируется "С2" из "Словарь2", то нас перенаправляет "А1" из "Словарь1" на свою страницу "/taxonomy/term/A1". И наоборот, если "А1" дезактивируется, то "С2" перенаправляет на страницу "/taxonomy/term/С2".
<дезактивация "С2" из "Словарь2">
_________________ | Блок "Словарь1" | |_________________| | | | [+]A1 | "/taxonomy/term/А1" | | | *B1 | | | | *С1 | | | |_________________| _________________ | Блок "Словарь2" | |_________________| | | | *A2 | | | | *B2 | | | | *С2 | | | |_________________|
-------------------
<дезактивация "А1" из "Словарь1">
_________________ | Блок "Словарь1" | |_________________| | | | *A1 | | | | *B1 | | | | *С1 | | | |_________________| _________________ | Блок "Словарь2" | |_________________| | | | *A2 | | | | *B2 | | | | [+]С2 |"/taxonomy/term/С2" | | |_________________|
4. Фильтр должен работать c:
* любой вложенностью терминов;
* любым количеством словарей;
* возможностью подключать к иерархии терминов словарей сторонние модули меню(например, jquerymenu)
Пробовал модуль taxonomy_filter, но, к сожалению, он работает по другой логике и не дает требуемого функционала.
Кто нибудь сталкивался с такой же задачей? Есть ли готовое решение? Можно ли такой фильтр создать при помощи модуля views?
Поиском не удалось найти решение задачи, потому и обращаюсь к вам, уважаемое сообщество друпалеров. Если где-то видели похожий модуль, сниппет или статью, киньтесь ссылкой в меня Буду премного вам благодарен за любую оказанную помощь.