Задача заключается в том, чтобы отображать в списке элементов инфоблока (в данном случае Новости) те элементы, у которых свойство активен равняется FALSE.
Александр Черкасов, Спасибо, прочитал в FAQ "Как кастомизировать стандартный компонент?"
Создал свое пространство имен: /bitrix/component/525/
В него поместил нужный компонент: /bitrix/component/525/news.list/
Затем в файле /bitrix/component/525/news.list/component.php
внес следующие изменения:
Код |
---|
if(is_numeric($arParams["IBLOCK_ID"]))
{
// $rsIBlock = CIBlock::GetList(array(), array("ACTIVE" => "Y", "ID" => $arParams["IBLOCK_ID"]));
$rsIBlock = CIBlock::GetList(array(), array("ID" => $arParams["IBLOCK_ID"]));
}
else
{
// $rsIBlock = CIBlock::GetList(array(), array("ACTIVE" => "Y", "CODE" => $arParams["IBLOCK_ID"]));
$rsIBlock = CIBlock::GetList(array(), array("CODE" => $arParams["IBLOCK_ID"]));
}
|
В вызове компонента изменил пространство имен:
Код |
---|
$APPLICATION->IncludeComponent(
"525:news.list",
"",
Array(
"DISPLAY_DATE" => "Y",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"IBLOCK_TYPE" => "news",
"IBLOCK_ID" => "43",
"NEWS_COUNT" => "10",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "",
"FIELD_CODE" => Array("",""),
"PROPERTY_CODE" => Array("",""),
"DETAIL_URL" => "detail.php?ID=#ELEMENT_ID#",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "j F Y",
"DISPLAY_PANEL" => "N",
"SET_TITLE" => "Y",
"INCLUDE_IBLOCK_INTO_CHAIN" => "Y",
"ADD_SECTIONS_CHAIN" => "Y",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "",
"PAGER_SHOW_ALWAYS" => "Y",
"PAGER_TEMPLATE" => ".default",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000"
)
)
|
Не помогло
#EBEBEB, Перед вызозом компонента прописал следующее:
Код |
---|
global $SelectAllElements;
$SelectAllElements = array(
'ACTIVE' => false, // убрать эту строчку, если нужно учитывать активность элемента
);
|
Тоже не принесло результата