Добрый день .
Пытаюсь добавить фильтр со сложной логикой компоненту bitrix:search.page.
Суть такова. Поиск должен производиться так:
1) Для инфоблока IBLOCK_CATALOG_ID - среди элементов , ID которых входят в массив $arElementsProductsIDs
2) Для всех инфоблоков, кроме IBLOCK_CATALOG_ID - как обычно , все активные элементы.
Код:
Пытаюсь добавить фильтр со сложной логикой компоненту bitrix:search.page.
Суть такова. Поиск должен производиться так:
1) Для инфоблока IBLOCK_CATALOG_ID - среди элементов , ID которых входят в массив $arElementsProductsIDs
2) Для всех инфоблоков, кроме IBLOCK_CATALOG_ID - как обычно , все активные элементы.
Код:
Код |
---|
$searchFilter = array( "LOGIC" => "AND", array( "=MODULE_ID" => "iblock", "=PARAM2" => array(IBLOCK_CATALOG_ID), "ITEM_ID" => $arElementsProductsIDs ), array( "=MODULE_ID" => "iblock", "!=PARAM2" => array(IBLOCK_CATALOG_ID), ) ); |
Код |
---|
<?$componentResult = $APPLICATION->IncludeComponent( "bitrix:search.page", ".default", array( "RESTART" => "N", "CHECK_DATES" => "N", "USE_TITLE_RANK" => "Y", "DEFAULT_SORT" => "rank", "arrFILTER" => $arrFILTER, "arrFILTER_main" => "", "arrFILTER_iblock_content" => $arrFILTER_iblock_content,//$arrFILTER_iblock_content "arrFILTER_iblock_catalog" => $arrFILTER_iblock_catalog,//$arrFILTER_iblock_catalog "SHOW_WHERE" => "Y", "arrWHERE" => $arrWHERE, "SHOW_WHEN" => "N", "PAGE_RESULT_COUNT" => "25", "AJAX_MODE" => "Y", "AJAX_OPTION_SHADOW" => "Y", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Результаты поиска", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => "", "USE_SUGGEST" => "N", "SHOW_ITEM_TAGS" => "N", "SHOW_ITEM_DATE_CHANGE" => "N", "SHOW_ORDER_BY" => "N", "SHOW_TAGS_CLOUD" => "N", "AJAX_OPTION_ADDITIONAL" => "", "COMPONENT_TEMPLATE" => ".default", "NO_WORD_LOGIC" => "N", "FILTER_NAME" => "searchFilter", "USE_LANGUAGE_GUESS" => "ALL", "arrFILTER_iblock_kitchen" => array( //0 => "40", //1 => "43", ), "TYPES" => $arTypes ), false ); ?> |