Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Компонент search.page и параметр Дополнительный фильтр

00 голосов
3
Добрый день!

Возникла необходимость в расширенном поиске по свойствам инфоблока.
Необходим именно контекстный поиск по всем элементам инфоблока+возможность указать дополнительные параметры поиска из выпадающих списков со значениями свойств.

Нашла в компонента search.page параметр Дополнительный фильтр (который в $arParams['FILTER_NAME']).
В коде компонента ничего, кроме того, что выходной массив данного фильтра присоединяется к массиву $arFilter, по которому происходит поиск - больше ничего.

В стандартном шаблоне - в качестве дополнительных параметров можно указать время создания документа. И в этом месте вызывается компонент main.calendar с нужными параметрами для передачи результатов в поиск.

Вопрос :?: : кто-нибудь может подсказать, каким-образом использовать этот дополнительный фильтр? Нужно ли его вызывать в шаблоне компонента поисковой страницы? И с какими параметрами?

Пробовала поместить на ту же страницу, где вызывается компонент search.page, компонент catalog.filter с таким же именем, что и в параметрах поиска. Поиск ограничила по нужному мне инфоблоку, по нему же работает фильтр. Галочка "Значения свойства участвуют в поиске" поставлена. Сайт переиндексирован.
Результата никакого. Фильтр не цепляется.
спросил 27 Ноя, 13 от Linalia (120 баллов)

3 Ответы

00 голосов
Неужели никто не знает каким образом воспользоваться параметром Дополнительный фильтр в поиске?
ответил 21 Янв, 14 от Linalia (120 баллов)
00 голосов
"arrFILTER" => array( // Ограничение области поиска
0 => "iblock_xmlcatalog",
);

Вы про это значение?
ответил 09 Май, 14 от Oleftina (160 баллов)
00 голосов
не знаю, актуально уже или нет, но инфу по FILTER_NAME можно почерпнуть вот отсюда http://dev.1c-bitrix.ru/api_help/search/classes/csearch/search.php
смотри низ, где описано расширение фильтров
поддерживаются модификаторы
MODULE_ID
ITEM_ID
PARAM1
PARAM2
SITE_ID
DATE_CHANGE
DATE_FROM
DATE_TO
SITE_URL

самый простой пример, ограничить поиск по конкретному инфоблоку
Код
$searchFilter=array(
                           "MODULE_ID" => "iblock",
            "PARAM2" => 3
         )
ответил 05 Сен, 14 от Hatura (100 баллов)

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

+1 голос
1 ответ
0 голосов
0 ответов
спросил 18 Июль, 15 от аноним
0 голосов
2 ответов
0 голосов
7 ответов
спросил 18 Июль, 13 от Titan91 (1,120 баллов)
0 голосов
3 ответов
спросил 22 Май, 13 от SpioN (160 баллов)