Решил эту проблему...
при индексация записываю дополнительную переменную, и по ней выполняю фильтр при поиске.
/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
);
|