Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/catalog.section.list/ |
Upload File : |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); /** @var array $arCurrentValues */ /** @global CUserTypeManager $USER_FIELD_MANAGER */ use Bitrix\Main\Loader; global $USER_FIELD_MANAGER; if(!Loader::includeModule("iblock")) return; $catalogIncluded = Loader::includeModule("catalog"); $iblockExists = (!empty($arCurrentValues['IBLOCK_ID']) && (int)$arCurrentValues['IBLOCK_ID'] > 0); $arIBlockType = CIBlockParameters::GetIBlockTypes(); $arIBlock = array(); $iblockFilter = [ 'ACTIVE' => 'Y', ]; if (!empty($arCurrentValues['IBLOCK_TYPE'])) { $iblockFilter['TYPE'] = $arCurrentValues['IBLOCK_TYPE']; } $rsIBlock = CIBlock::GetList(array("SORT" => "ASC"), $iblockFilter); while($arr=$rsIBlock->Fetch()) $arIBlock[$arr["ID"]] = "[".$arr["ID"]."] ".$arr["NAME"]; $arProperty_UF = array(); $arUserFields = $iblockExists ? $USER_FIELD_MANAGER->GetUserFields("IBLOCK_".$arCurrentValues["IBLOCK_ID"]."_SECTION", 0, LANGUAGE_ID) : [] ; foreach($arUserFields as $FIELD_NAME=>$arUserField) { $arUserField['LIST_COLUMN_LABEL'] = (string)$arUserField['LIST_COLUMN_LABEL']; $arProperty_UF[$FIELD_NAME] = $arUserField['LIST_COLUMN_LABEL'] ? '['.$FIELD_NAME.']'.$arUserField['LIST_COLUMN_LABEL'] : $FIELD_NAME; } $isProducts = false; if ($catalogIncluded && (!empty($arCurrentValues['IBLOCK_ID']) && (int)$arCurrentValues['IBLOCK_ID'] > 0)) { $catalog = CCatalogSku::GetInfoByIBlock($arCurrentValues['IBLOCK_ID']); $isProducts = (!empty($catalog)); unset($catalog); } $countFilterList = array( "CNT_ALL" => GetMessage("CP_BCSL_COUNT_ELEMENTS_ALL") ); $countFilterList["CNT_ACTIVE"] = ($isProducts ? GetMessage("CP_BCSL_COUNT_PRODUCTS_ACTIVE") : GetMessage("CP_BCSL_COUNT_ELEMENTS_ACTIVE") ); if ($isProducts) { $countFilterList["CNT_AVAILABLE"] = GetMessage("CP_BCSL_COUNT_PRODUCTS_AVAILABLE"); } $arComponentParameters = array( "GROUPS" => array( ), "PARAMETERS" => array( "IBLOCK_TYPE" => array( "PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockType, "REFRESH" => "Y", ), "IBLOCK_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_IBLOCK_ID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock, "REFRESH" => "Y", ), "SECTION_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_SECTION_ID"), "TYPE" => "STRING", "DEFAULT" => '={$_REQUEST["SECTION_ID"]}', ), "SECTION_CODE" => array( "PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_SECTION_CODE"), "TYPE" => "STRING", "DEFAULT" => '', ), "SECTION_URL" => CIBlockParameters::GetPathTemplateParam( "SECTION", "SECTION_URL", GetMessage("CP_BCSL_SECTION_URL"), "", "URL_TEMPLATES" ), "COUNT_ELEMENTS" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_COUNT_ELEMENTS"), "TYPE" => "CHECKBOX", "DEFAULT" => 'Y', "REFRESH" => "Y" ), "COUNT_ELEMENTS_FILTER" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_COUNT_ELEMENTS_FILTER"), "TYPE" => "LIST", "VALUES" => $countFilterList, "DEFAULT" => "CNT_ACTIVE", "HIDDEN" => (isset($arCurrentValues['COUNT_ELEMENTS']) && $arCurrentValues['COUNT_ELEMENTS'] == 'N' ? 'Y' : 'N') ), "ADDITIONAL_COUNT_ELEMENTS_FILTER" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_ADDITIONAL_COUNT_ELEMENTS_FILTER"), "TYPE" => "STRING", "DEFAULT" => "additionalCountFilter", "HIDDEN" => (isset($arCurrentValues['COUNT_ELEMENTS']) && $arCurrentValues['COUNT_ELEMENTS'] == 'N' ? 'Y' : 'N'), ), "HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "HIDDEN" => (isset($arCurrentValues['COUNT_ELEMENTS']) && $arCurrentValues['COUNT_ELEMENTS'] == 'N' ? 'Y' : 'N'), ), "TOP_DEPTH" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_TOP_DEPTH"), "TYPE" => "STRING", "DEFAULT" => '2', ), "SECTION_FIELDS" => CIBlockParameters::GetSectionFieldCode( GetMessage("CP_BCSL_SECTION_FIELDS"), "DATA_SOURCE", array() ), "SECTION_USER_FIELDS" =>array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSL_SECTION_USER_FIELDS"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_UF, ), "FILTER_NAME" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage('CP_BCSL_FILTER_NAME_IN'), "TYPE" => "STRING", "DEFAULT" => "sectionsFilter", ), "ADD_SECTIONS_CHAIN" => Array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCSL_ADD_SECTIONS_CHAIN"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "CACHE_TIME" => Array("DEFAULT"=>36000000), "CACHE_GROUPS" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCSL_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "CACHE_FILTER" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCSL_CACHE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), ), );