Задать вопрос

Почему bitrix:catalog.smart.filter игнорирует настройки фильтра?

Добрый день!

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

например по одному бренду 10 товаров для показа, и 2 скрытых- Фильтр показывает что по этому бренду 12 товаров.

И так же отображается бренд у которого вообще все товары скрыты

Настройки фильтра каталога:
$arrFilter = array(
    "!PROPERTY_HIDDEN_PRODUCT_VALUE" => 'Y',
);


Вызов компонента фильтра:
<?$APPLICATION->IncludeComponent(
			"bitrix:catalog.smart.filter",
			"",
			array(
				"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
				"IBLOCK_ID" => $arParams["IBLOCK_ID"],
				"SECTION_ID" => $arCurSection['ID'],
				"FILTER_NAME" => 'arrFilter',
				//"PRICE_CODE" => $arParams["PRICE_CODE"],
				"PRICE_CODE" => ["BASE"],
				"CACHE_TYPE" => $arParams["CACHE_TYPE"],
				"CACHE_TIME" => $arParams["CACHE_TIME"],
				"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
				"SAVE_IN_SESSION" => "N",
				"FILTER_VIEW_MODE" => $arParams["FILTER_VIEW_MODE"],
				"XML_EXPORT" => "Y",
				"SECTION_TITLE" => "NAME",
				"SECTION_DESCRIPTION" => "DESCRIPTION",
				'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
				"TEMPLATE_THEME" => 'black',
				'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
				'CURRENCY_ID' => $arParams['CURRENCY_ID'],
				"SEF_MODE" => $arParams["SEF_MODE"],
				"SEF_RULE" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["smart_filter"],
				"SMART_FILTER_PATH" => $arResult["VARIABLES"]["SMART_FILTER_PATH"],
				"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
			),
			$component,
			array('HIDE_ICONS' => 'Y')
		);?>
  • Вопрос задан
  • 4623 просмотра
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 3
по дефолту не умеет, нужно дописать класс Facet для умного фильтра
dev.1c-bitrix.ru/support/forum/messages/forum6/top...
Ответ написан
Комментировать
idel
@idel
Веб-разработчик
В новой версии компонента добавили параметр PREFILTER_NAME.

Можно попробовать этот вариант
$smartPreFilter = [
    "!PROPERTY_HIDDEN_PRODUCT_VALUE" => 'Y'
];


И нужно добавить параметр
"PREFILTER_NAME" => "smartPreFilter",
Ответ написан
Согласно информации на форуме Битрикс скоро жить станет чуть проще.

5d16014ac6505562479042.jpeg

По поводу применения к задаче PREFILTER_NAME не понял. Если я комплексному каталогу в arrFilter передаю Id товаров, как мне их же отдать в start.filter, чтобы данные для фильтра строились только по Id указанных товаров?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы