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

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

Аватар пользователя Im Im 24 июня 2014 в 15:59

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

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

Родитель-1
-термин родителя -1
-термин родителя -2
-термин родителя -3
-термин родителя -4

Родитель-2
-термин родителя -5
-термин родителя -6
-термин родителя -7
-термин родителя -8

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

Как такое намутить?

Пробовал Views Dependent Filters - шлак еще тот. Настраивается только одна связь + куча багов.

Комментарии

Аватар пользователя Im Im 24 июня 2014 в 16:16

"vortex" wrote:
попробуйте  hierarchical_select

Спасибо за совет, ковыряю его Smile а нет готовых приблуд, что выпадающие списки превратить в чекбоксы?

Аватар пользователя Im Im 24 июня 2014 в 16:50

"sergeybelya" wrote:
https://www.drupal.org/project/shs[/quote]
"vortex" wrote:
блин. ошибся. Названия похожи. у меня shs!

забавно, но я с самого начала его и установил Smile как говорится рыбак рыбака)

Так а есть что нибудь для видоизменения селекта? точнее вместо селекта чекбоксы?

Аватар пользователя Марк Марк 25 июня 2014 в 22:26

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

document.getElementById('edit-type-1').onchange = function(){

var str = '';
if (this.value == "kupitdom") {
document.getElementById("edit-field-kolichestvokomnat-tid-wrapper").style.display ='none';
document.getElementById("edit-type-4-wrapper").style.display ='block';

}

Аватар пользователя Im Im 26 июня 2014 в 12:14

"Марк" wrote:
можно в модуль засунуть при желании. Костыли, конечно, но я такое на многих известных сайтах видел.
document.getElementById('edit-type-1').onchange = function(){
var str = '';
if (this.value == "kupitdom") {
document.getElementById("edit-field-kolichestvokomnat-tid-wrapper").style.display ='none';
document.getElementById("edit-type-4-wrapper").style.display ='block';
}

немного не вкурил. Вы предлагаете с помощью js заменить?