Не работает arrFilter в компоненте bitrix:news

Чтобы не тупить в следующий раз и не искать почему не срабатывает наш кастомный фильтр в комплексном компоненте bitrix:news, внизу список того, что нужно проверить.

Например, сделаем фильтр который отфильтрует элемент с ID = 42.

Перед вызовом компонента укажем код:

<?
$arrFilter=array("ID"=>42);
?>

Далее идет вызов компонента:

<? $APPLICATION->IncludeComponent(
	"bitrix:news", 
	"blog", 
	array(
		"ADD_ELEMENT_CHAIN" => "Y",
		"ADD_SECTIONS_CHAIN" => "N",
		"AJAX_MODE" => "N",
***

Вроде бы все ОК, но фильтр не работает и отображаются все элементы.

Проверяем следующее:

1. В вызове компонента указываем что нужно использовать фильтр и его название:

***

"USE_FILTER" => "Y",
"FILTER_NAME" => "arrFilter",

***

2. В файле шаблона компонента, в моем случае local/templates/.default/components/bitrix/news/blog/news.php, нужно не забыть удалить или закомментировать строки:

<? $APPLICATION->IncludeComponent(
	"bitrix:catalog.filter",
	"",
	Array(
		"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
		"IBLOCK_ID" => $arParams["IBLOCK_ID"],
		"FILTER_NAME" => $arParams["FILTER_NAME"],
		"FIELD_CODE" => $arParams["FILTER_FIELD_CODE"],
		"PROPERTY_CODE" => $arParams["FILTER_PROPERTY_CODE"],
		"CACHE_TYPE" => $arParams["CACHE_TYPE"],
		"CACHE_TIME" => $arParams["CACHE_TIME"],
		"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
		"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
	),
	$component
);
?>

Это нужно сделать, чтобы при вызове компонента не перезаписывался наш собственный массив $arrFilter.

Когда редко занимаешься проектами на Битрикс часто забываешь о логике его работы и порядке загрузки различных частей системы и из-за этого иногда возникает непонимание почему тот или иной компонент не работает )

Хостинг для ваших проектов