Тема: Как добавить зависимые фильтры в собственный шаблон

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

Повысить оценку Понизить оценку

Re: Как добавить зависимые фильтры в собственный шаблон

Весной, настроение улучшается... ))) Смотрите в шаблонах стандартных файл в модуле catalog файл jquery.filter.js или rs.filter.js в зависимости от темы. Там есть вот такой кусок кода.

//> зависимые фильтры
if(typeof response.filters_allowed_sorted !== "undefined"){
     var allow_filters = Object.entries(response.filters_allowed_sorted);

      if(allow_filters !== false) {
                                   allow_filters.forEach(function(filter){
                                       Object.entries(filter[1]).forEach(function(filter_val){
                                           //если есть, то включим
                                           var input_filter = $('input[name="pf['+filter[0]+'][]"][value="'+filter_val[0]+'"]');
                                           var input_bfilter = $('input[name="bfilter['+filter[0]+'][]"][value="'+filter_val[0]+'"]');
                                           if(filter_val[1] === false) {
                                               input_bfilter.parent().addClass('disabled-property');
                                               input_filter.parent().addClass('disabled-property');
                                           } else {
                                               input_bfilter.parent().removeClass('disabled-property');
                                               input_filter.parent().removeClass('disabled-property');
                                           }
                                       });
                                   });
     }
}
//< зависимые фильтры

Если есть фильтры, которые нужно затемнить, то им присваивается класс disabled-property. Задайте в CSS стиль для данного класса и на забудьте в админ панели в настройках модуля каталог включить опцию зависимых фильтров.