выводим каталог на странице поиска битрикс
Выведем товары в результатах поиска.
Для этого в компоненте каталога просто применим фильтр с ид элементов. Идшники компонентов получим , например, тем же поиском.
$res = $APPLICATION->IncludeComponent(
"bitrix:search.page",
"",
array(
"RESTART" => "N",
"CHECK_DATES" => "N",
"USE_TITLE_RANK" => "N",
"DEFAULT_SORT" => "rank",
"arrFILTER" => array(
),
"arrFILTER_iblock_catalog" => array(
0 => "all",
),
"SHOW_WHERE" => "N",
"SHOW_WHEN" => "N",
"PAGE_RESULT_COUNT" => "25",
"AJAX_MODE" => "N",
"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" => "arrows",
"USE_SUGGEST" => "N",
"SHOW_ITEM_TAGS" => "N",
"SHOW_ITEM_DATE_CHANGE" => "N",
"SHOW_ORDER_BY" => "N",
"SHOW_TAGS_CLOUD" => "Y",
"AJAX_OPTION_ADDITIONAL" => "",
"COMPONENT_TEMPLATE" => "monopoly",
"NO_WORD_LOGIC" => "N",
"FILTER_NAME" => "",
"USE_LANGUAGE_GUESS" => "Y",
"SHOW_RATING" => "",
"RATING_TYPE" => "",
"PATH_TO_USER_PROFILE" => "",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO"
),
false
);
$res = array_values($res);
В шаблоне search.page
elseif(count($arResult["SEARCH"])>0){
return array_column( $arResult["SEARCH"], 'ITEM_ID');
Все, idшники есть. Записываем их в фильтр.
$GLOBALS['arrFilter'] = ['ID' => $res];
ну и сам каталог
$APPLICATION->IncludeComponent(
"bitrix:catalog",
// также можно заменить на
// "bitrix:catalog.section"
"",
array(
"USE_FILTER" => "Y",
"FILTER_NAME" => "arrFilter",
'SHOW_ALL_WO_SECTION' => 'Y' ...
Leave a comment