public static function addFilterByIblockAndSection( ?array $arFilter = array(), ?string searchKey  = "", string $sectionIdField = "section_id" ): array

Функция парсит параметр $searchKey и добавляет к $arFilter параметры MODULE_IDPARAM1PARAM2PARAMS для поиска С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


0  


 Классы | Описание курса | Компоненты