Умный фильтр (bitrix:catalog.smart.filter) - возможность установки arrFilter для компонента

Рейтинг: 32.2246  
Внедрено
Предложил Медведев Андрей 02.04.2015 16:53:25

Умный фильтр (bitrix:catalog.smart.filter) - возможность установки arrFilter для компонента

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

Как это делается например в news.list:

* есть стандартный $arFilter, который в самом компоненте задается
* и можем доп. фильтр наложить $arrFilter

Для умного фильтра такое тоже очень бы хотелось использовать.

Например если мы в каталоге показываем товары только с определенным свойством-галочкой.
Рейтинг: 1  
Ответил Жуков Евгений 27.02.2019 19:19:47
Выйдет в ближайшем обновлении после iblock 18.6.3. Возможен сдвиг. Обработка дополнительного фильтра аналогично компоненту catalog.section.

Рейтинг: 9.5414  
Зайцев Артемий 02.04.2015 20:31:04
Входящий массив $arrFilterFilter в компонент bitrix:catalog.smart.filter и в другие фильтры. Вполне годная идея, часто делаем. Например $arFilterFilter["CATALOG_QUANTITY"] > 0

Аналогично bitrix:catalog.filter может быть с входящим фильтром.

Сейчас в Битриксе адский геморрой не выыводить товары, которых нет в наличии
Рейтинг: 1.5991  
Дмитрий 03.11.2015 12:56:51
Очень нужно! В смарт фильтр сейчас не передаются глобальные переменные! Фильтр показывает неправильно.
Рейтинг: 8.0485  
It Sparta: Денис Зимин 20.01.2016 12:52:06
Скриншот: http://screencast.com/t/YY7Yb990

Хотелось бы наладывать свои фильтры и чтобы компонент "Умный фильтр" их учитывал при подсчете кол-ва товаров и значений
Рейтинг: 1.9475  
Роман Забродин 20.01.2016 12:53:43
И нам тоже это очень нужно!
Ибо мы в своих типовых решениях очень сильно наращиваем возможности стандартного фильтра (без его кастомизации) через передачу  global $arFilter , а тогда в плашке с найденным количеством -- погода показывается.. ;(
Рейтинг: 1  
Шипулин Артем 24.01.2016 11:38:29
Довольно часто бывает ситуация, когда в ИБ с товарами есть товары без цены, и если исключить их из показа в публичной части проблемы нет, то исключить их из подсчета в умном фильтре никак не получится, поэтому иметь возможность предустанавливать фильтр для этого компоненте очень бы пригодилась.
Рейтинг: 3  
Дмитрий 17.02.2016 11:13:44
Есть ли временное решение? Кто-нибудь научил умный фильтр понимать arrFilter? Поделитесь, пожалуйста!
Рейтинг: 2  
Кравченко Евгений 17.08.2016 09:56:14
Согласен очень нужная вещь!
Рейтинг: 2  
Половинка Виталий 15.02.2018 00:03:54
Как я понял а воз и ныне там :(
Рейтинг: 3  
espr 07.05.2018 14:29:53
За 3 года так и не дошли руки сделать?
Рейтинг: 3  
Зыков Роман 28.05.2018 16:42:34
Есть ли временное решение? Кто-нибудь научил умный фильтр понимать arrFilter? Поделитесь, пожалуйста!
Да-да, кто нибудь уже реализовать смог? В каком направлении копать, копировать компонент не хотелось бы
Рейтинг: 3  
Зыков Роман 07.08.2018 10:30:04
Функционал до сих пор не реализован, реализовал самостоятельно

В параметры компонента bitrix:catalog.smart.filter передаю параметр глобального фильтра
"EXTERNAL_FILTER" => array("PROPERTY_METALL" => 1)

На строке 45 компонента(component.php) добавил две строки - для вывода
if(!empty($this->arParams["EXTERNAL_FILTER"]))
         $arResult["FACET_FILTER"] = array_merge($arResult["FACET_FILTER"], $this->arParams["EXTERNAL_FILTER"]);

На строке 808 - для ajax вывода
if(!empty($this->arParams["EXTERNAL_FILTER"]))
    $arFilter = array_merge($arFilter, $this->arParams["EXTERNAL_FILTER"]);

Рейтинг: 0  
Солуянов Егор 24.10.2018 14:46:53
Очень нужна префильтрация!
Рейтинг: 2  
Proger 17.02.2019 15:43:35
Очень пригодилось решение Романа!
Рейтинг: 0  
Сильчук Светлана 19.03.2020 21:01:58
Уже есть префильтр: параметр PREFILTER_NAME - Имя входящего массива для дополнительной фильтрации элементов