Решил эту проблему...
при индексация записываю дополнительную переменную, и по ней выполняю фильтр при поиске.
/bitrix/php_interface/init.php
/search/index.php
при индексация записываю дополнительную переменную, и по ней выполняю фильтр при поиске.
/bitrix/php_interface/init.php
Код |
---|
AddEventHandler("search", "BeforeIndex", Array("ClassFilterSearch", "BeforeIndexHandler")); class ClassFilterSearch { function BeforeIndexHandler($arFields) { if ($arFields["PARAM2"] == 8 && CModule::IncludeModule("catalog") && CCatalog::GetByID($arFields["PARAM2"])) { $ar_res = CCatalogProduct::GetByID($arFields["ITEM_ID"]); if ($ar_res['QUANTITY'] > 0){$arFields["PARAMS"]["SEARCH_PAGE"] = 'Y';} else {$arFields["PARAMS"]["SEARCH_PAGE"] = 'N';} } return $arFields; } } |
/search/index.php
Код |
---|
global $arFilterParams; $arFilterParams = array("PARAMS" => array("SEARCH_PAGE" => 'Y')); $APPLICATION->IncludeComponent("bitrix:search.page", "suggest1", array( ... "FILTER_NAME" => "arFilterParams", ... ), false ); |