|
public static function addFilterByIblockAndSection( ?array $arFilter = array(), ?string searchKey = "", string $sectionIdField = "section_id" ): array
Функция парсит параметр $searchKey и добавляет к $arFilter параметры MODULE_ID, PARAM1, PARAM2, PARAMS для поиска СSearch
Функция используется для передачи параметра со списком типов инфоблоков, инфоблоков и разделов в компонент поиска.
Пример 1
$arrSearchFilter = [
];
if (\Bitrix\Main\Loader::includeModule( "askaron.search" ))
{
$arrSearchFilter = \Askaron\Search\Tools::addFilterBySearchSection(
$arrSearchFilter,
"iblock|catalog||",
"section_id"
);
}
print_r($arrSearchFilter);
Результат
Array
(
[MODULE_ID] => iblock
[PARAM1] => catalog
)
$arrSearchFilter = [
"PARAMS" => [
"LANGUAGE_ID" => "ru",
],
];
if (\Bitrix\Main\Loader::includeModule( "askaron.search" ))
{
$arrSearchFilter = \Askaron\Search\Tools::addFilterBySearchSection(
$arrSearchFilter,
"iblock|catalog|2|3",
"section_id"
);
}
print_r($arrSearchFilter);
Результат:
Array
(
[PARAMS] => Array
(
[LANGUAGE_ID] => ru
[section_id] => 3
)
[MODULE_ID] => iblock
[PARAM1] => catalog
[PARAM2] => 2
)
Пример 2
Перед компонентом bitrix:search.page
<?php
global $arrSearchFilter;
$arrSearchFilter = [];
if (\Bitrix\Main\Loader::includeModule( "askaron.search" ))
{
$arrSearchFilter = \Askaron\Search\Tools::addFilterBySearchSection(
$arrSearchFilter,
$_REQUEST["search_sections_filter"] ?? "",
"section_id"
);
}
?>
arrSearchFilter надо указать в параметрах компонента bitrix:search.page
Классы |
Описание курса
| Компоненты
|