Создаётся массив с фильтром, а именно кодом:
global $arrFilter;
$arrFilter = array();
$arrFilter["=ID"] = $myGetBasketData->getProductIdDiscontAr();// в этом массиве лежат Id товаров с скидками
Далее этот массив передаётся в комплексный компонент bitrix catalog, а именно через FILTER_NAME:
$APPLICATION->IncludeComponent(
"bitrix:catalog",
"new_catalog",
array(
"FILTER_NAME" => "arrFilter",
...
Комплексный компонент каталог подключает внутри catalog.smart.filter, а именно
$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection['ID'],
"FILTER_NAME" => $arParams["FILTER_NAME"],
Проверено что $arParams["FILTER_NAME"] содержит строку "arrFilter"
При всём выше описанном комплексный компонент каталог отображает товары указанные в $arrFilter["=ID"] (то есть товары с скидкой), а фильтр по свойствам(Размеры, материалы и прочее) генерируется из всех 50-ти+ товаров имеющихся в инфоблоке каталога.
Как ограничить данные в фильтре данными относящимися исключительно к товарам с скидкой(то-есть ид которых содержится в $arrFilter["=ID"]).
global $arrFilter;
$arrFilter = array();
$arrFilter["=ID"] = $myGetBasketData->getProductIdDiscontAr();// в этом массиве лежат Id товаров с скидками
Далее этот массив передаётся в комплексный компонент bitrix catalog, а именно через FILTER_NAME:
$APPLICATION->IncludeComponent(
"bitrix:catalog",
"new_catalog",
array(
"FILTER_NAME" => "arrFilter",
...
Комплексный компонент каталог подключает внутри catalog.smart.filter, а именно
$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection['ID'],
"FILTER_NAME" => $arParams["FILTER_NAME"],
Проверено что $arParams["FILTER_NAME"] содержит строку "arrFilter"
При всём выше описанном комплексный компонент каталог отображает товары указанные в $arrFilter["=ID"] (то есть товары с скидкой), а фильтр по свойствам(Размеры, материалы и прочее) генерируется из всех 50-ти+ товаров имеющихся в инфоблоке каталога.
Как ограничить данные в фильтре данными относящимися исключительно к товарам с скидкой(то-есть ид которых содержится в $arrFilter["=ID"]).