|
Собственно вызываю комплексный компонент news, хочу в index.php применить фильтр index.php с кодом вызова компонента и глобальным $arrFilter Скрытый текст |
---|
[CODE] <?php
GLOBAL $arrFilter; $arrFilter = []; $arrFilter['PROPERTY_CONFIDENTIAL_VALUE']=$properties['CONFIDENTIAL']['VALUES'][0]['VALUE'];
$APPLICATION->IncludeComponent( "bitrix:news", "requests", array( "IBLOCK_ID" => $IBLOCK_ID, "IBLOCK_TYPE" => $IBLOCK_TYPE, "NEWS_COUNT" => "6", "COMPONENT_TEMPLATE" => "requests", "PAGER_TEMPLATE" => "rok_pager", "SORT_BY1" => "ACTIVE_FROM", "SORT_BY2" => "SORT", "SORT_ORDER1" => "DESC", "SORT_ORDER2" => "ASC", "ADD_ELEMENT_CHAIN" => "Y", "ADD_SECTIONS_CHAIN" => "N", "SHOW_ALL_WO_SECTION" => "Y", "AJAX_MODE" => "N", "AJAX_OPTION_ADDITIONAL" => "", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "N", "BROWSER_TITLE" => "NAME", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "N", "CACHE_TIME" => "36000000", "CACHE_TYPE" => "N", "CHECK_DATES" => "Y", "DETAIL_ACTIVE_DATE_FORMAT" => "SHORT", "DETAIL_DISPLAY_BOTTOM_PAGER" => "Y", "DETAIL_DISPLAY_TOP_PAGER" => "N", "DETAIL_FIELD_CODE" => array( 0 => "", 1 => "", ), "DETAIL_PAGER_SHOW_ALL" => "N", "DETAIL_PAGER_TEMPLATE" => "", "DETAIL_PAGER_TITLE" => "Новость", "DETAIL_PROPERTY_CODE" => array( 0 => "", 1 => "", ), "DETAIL_SET_CANONICAL_URL" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "DISPLAY_DATE" => "Y", "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => "Y", "DISPLAY_PREVIEW_TEXT" => "Y", "DISPLAY_TOP_PAGER" => "N", "FILTER_NAME" => "arrFilter", "FILTER_NAME2" => "arrFilter", "FILTER_FIELD_CODE" => array( 0 => "NAME", 1 => "", ), "FILTER_PROPERTY_CODE" => array( 0 => "STATUS", 1 => "MEMBER_NAME", ), "HIDE_LINK_WHEN_NO_DETAIL" => "N", "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "LIST_ACTIVE_DATE_FORMAT" => "SHORT", "ACTIVE_DATE_FORMAT" => "j F", "LIST_FIELD_CODE" => array( 0 => "", 1 => "", ), "LIST_PROPERTY_CODE" => array( 0 => "REASON", 1 => "", ), "MESSAGE_404" => "", "META_DESCRIPTION" => "-", "META_KEYWORDS" => "-", "NUM_DAYS" => "30", "NUM_NEWS" => "20", "PAGER_BASE_LINK_ENABLE" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "Y", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TITLE" => "Новости", "PREVIEW_TRUNCATE_LEN" => "", "SEF_FOLDER" => "/requests/", "SEF_MODE" => "Y", "SET_LAST_MODIFIED" => "Y", "SET_STATUS_404" => "Y", "SET_TITLE" => "N", "SHOW_404" => "N", "STRICT_SECTION_CHECK" => "N", "USE_CATEGORIES" => "N", "USE_FILTER" => "N", "USE_PERMISSIONS" => "N", "USE_RATING" => "N", "USE_REVIEW" => "N", "USE_RSS" => "N", "USE_SEARCH" => "Y", "USE_SHARE" => "N", "USE_PAGE_SIZE" => "Y", "YANDEX" => "N", "SEF_URL_TEMPLATES" => array( "news" => "", "section" => "", "detail" => "#ELEMENT_CODE#/", ) ), false ); ?> [/CODE] |
В итоге фильтр не применяется, зашел в \bitrix\components\bitrix\news.list\component.php смотрю там пустой $arrFilter $rsElement = CIBlockElement::GetList($arSort, array_merge($arFilter , $arrFilter), false, $arNavParams, $shortSelect); Почему так не понял, посмотрел $arParams в news.php, а там $arParams['FILTER_NAME'] пустой, еще до вызова всего и фильтра и списка новостей Скрытый текст |
---|
[CODE] <?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die(); } /** @var array $arParams */ /** @var array $arResult */ /** @global CMain $APPLICATION */ /** @global CUser $USER */ /** @global CDatabase $DB */ /** @var CBitrixComponentTemplate $this */ /** @var string $templateName */ /** @var string $templateFile */ /** @var string $templateFolder */ /** @var string $componentPath */ /** @var CBitrixComponent $component */ $this->setFrameMode(true); ?> <?php /** * Странно, но $arParams['FILTER_NAME'] обнуляется... */
if ($arParams['USE_SEARCH'] == 'Y') { $APPLICATION->IncludeComponent( 'bitrix:search.form', '', array( 'PAGE' => $arResult['FOLDER'] . $arResult['URL_TEMPLATES']['search'] ), $component ); }
if ($arParams['USE_FILTER'] == 'Y') { $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'], ), $component ); }
?>
<?$APPLICATION->IncludeComponent( "bitrix:news.list", "", Array( "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "NEWS_COUNT" => $arParams["NEWS_COUNT"], "SORT_BY1" => $arParams["SORT_BY1"], "SORT_ORDER1" => $arParams["SORT_ORDER1"], "SORT_BY2" => $arParams["SORT_BY2"], "SORT_ORDER2" => $arParams["SORT_ORDER2"], "FIELD_CODE" => $arParams["LIST_FIELD_CODE"], "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"], "DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["detail"], "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"], "IBLOCK_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["news"], "DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"], "SET_TITLE" => $arParams["SET_TITLE"], "SET_LAST_MODIFIED" => $arParams["SET_LAST_MODIFIED"], "MESSAGE_404" => $arParams["MESSAGE_404"], "SET_STATUS_404" => $arParams["SET_STATUS_404"], "SHOW_404" => $arParams["SHOW_404"], "FILE_404" => $arParams["FILE_404"], "INCLUDE_IBLOCK_INTO_CHAIN" => $arParams["INCLUDE_IBLOCK_INTO_CHAIN"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_FILTER" => $arParams["CACHE_FILTER"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"], "DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"], "PAGER_TITLE" => $arParams["PAGER_TITLE"], "PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"], "PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"], "PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"], "PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"], "PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"], "PAGER_BASE_LINK_ENABLE" => $arParams["PAGER_BASE_LINK_ENABLE"], "PAGER_BASE_LINK" => $arParams["PAGER_BASE_LINK"], "PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"], "DISPLAY_DATE" => $arParams["DISPLAY_DATE"], "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => $arParams["DISPLAY_PICTURE"], "DISPLAY_PREVIEW_TEXT" => $arParams["DISPLAY_PREVIEW_TEXT"], "PREVIEW_TRUNCATE_LEN" => $arParams["PREVIEW_TRUNCATE_LEN"], "ACTIVE_DATE_FORMAT" => $arParams["LIST_ACTIVE_DATE_FORMAT"], "USE_PERMISSIONS" => $arParams["USE_PERMISSIONS"], "GROUP_PERMISSIONS" => $arParams["GROUP_PERMISSIONS"], "FILTER_NAME" => $arParams["FILTER_NAME"], "HIDE_LINK_WHEN_NO_DETAIL" => $arParams["HIDE_LINK_WHEN_NO_DETAIL"], "CHECK_DATES" => $arParams["CHECK_DATES"], ), $component );?> [/CODE] |
Такие пироги, раньше всегда работало, а в этот раз не заработало. Обновлялся и уже на обновленном битриксе это делал, но обновление не самое свежее. Главный модуль 21.400.300 Инфоблоки 21.400.200
|