Разработка на 1С-Битрикс Михаил Базаров
Форум

Фильтр на странице поиска

Вопросы и ответы по 1С-Битрикс, разборы реальных задач и обсуждение заметок блога. Задайте вопрос или помогите другим — все сообщения проходят модерацию.

Здравствуйте, как можно вывести фильтр на товары из поиска, если на странице компонент bitrix:catalog.search, а фильтр лежит в components/bitrix/catalog/catalog.filter? На странице поиска сбоку есть область bitrix:main.include
Можно вывести catalog.smart.filter - вне го не передавать код/ID раздела но передать ID найденных элементов.
По сути сымитировать ему раздел каталога но виртуально, и будто в этом разделе есть товары найденные поиском catalog.search.
Если я в catalog.search после формирования $searchFilter сохраняю ID в сессию через
Код
$searchFilter = [ 
 "ID" => $arElements, 
]; 
$_SESSION['search_result_ids'] = $arElements;
А затем в sect_aside.php в корень search передаю
Код
$searchIds = $_SESSION['search_result_ids'] ?? [];

$APPLICATION->IncludeComponent(
    "bitrix:catalog.smart.filter",
    "smart.mobile.filter",
    [
        "IBLOCK_TYPE"     => "catalog",
        "IBLOCK_ID"       => "17",
        "FILTER_NAME"     => "arrFilter",
        "PRICE_CODE"      => ["BASE"],
        "PROPERTY_CODE"   => [],
        "CACHE_TYPE"      => "N",
        "SAVE_IN_SESSION" => "N",
        "SEF_MODE"        => "N",
        "ELEMENT_ID"      => $searchIds,
    ]
);

То ничего не происходит, свойства выводимых товаров никак не связаны со свойствами в фильтре. Что-то делаю не так?
Сейчас проверить негде, но там не ID элементов надо передавать а предфильтр
Что-то типа этого
Код
$APPLICATION->IncludeComponent(
    "bitrix:catalog.smart.filter",
    "smart.mobile.filter",
    [
        "IBLOCK_TYPE"     => "catalog",
        "IBLOCK_ID"       => "17",
        "PRICE_CODE"      => ["BASE"],
        "PROPERTY_CODE"   => [],
        "CACHE_TYPE"      => "N",
        "SAVE_IN_SESSION" => "N",
        "SEF_MODE"        => "N",
        "PREFILTER_NAME"      => 'searchFilter', // Фильтр поиска
        "FILTER_NAME"     => "arrFilter", // Фильтр самого фильтра
    ]
);
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить картинки
 
Блог-note

Заметки по 1С-Битрикс