Я через фильтр такое настраиваю, по вашему фильтру если он подходит примерно так сделайте:
[CODE]if(!isset($GLOBALS['arrFilter'])){ $GLOBALS['arrFilter']=[]; }
$GLOBALS['arrFilter']['ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['SECTION_ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['SECTION_GLOBAL_ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['CATALOG_AVAILABLE'] = 'Y';
$GLOBALS['arrFilter'][] = [
"LOGIC" => "OR",
"!DETAIL_PICTURE" => false,
"!PREVIEW_PICTURE" => false
];[/CODE]
А перестает работать ваш вариант с умным фильтром из-за того что вы его переопределяете
global $arrFilter;
$arrFilter = array();
такой вариант удаляет все что попало в $arrFilter после применения умного фильтра и назначает свое, в моем варианте, вы просто дописываете в него дополнительные данные
Если вы это используете в комплексном компоненте, то тогда перед ним пропишите этот код, изменив arrFilter на что-то другое, например arrPreFilter
а в сам компонент bitrix:catalog.smart.filter передавайте еще один параметр
"PREFILTER_NAME"=>"arrPreFilter",
[CODE]if(!isset($GLOBALS['arrFilter'])){ $GLOBALS['arrFilter']=[]; }
$GLOBALS['arrFilter']['ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['SECTION_ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['SECTION_GLOBAL_ACTIVE'] = 'Y';
$GLOBALS['arrFilter']['CATALOG_AVAILABLE'] = 'Y';
$GLOBALS['arrFilter'][] = [
"LOGIC" => "OR",
"!DETAIL_PICTURE" => false,
"!PREVIEW_PICTURE" => false
];[/CODE]
А перестает работать ваш вариант с умным фильтром из-за того что вы его переопределяете
global $arrFilter;
$arrFilter = array();
такой вариант удаляет все что попало в $arrFilter после применения умного фильтра и назначает свое, в моем варианте, вы просто дописываете в него дополнительные данные
Если вы это используете в комплексном компоненте, то тогда перед ним пропишите этот код, изменив arrFilter на что-то другое, например arrPreFilter
а в сам компонент bitrix:catalog.smart.filter передавайте еще один параметр
"PREFILTER_NAME"=>"arrPreFilter",