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.sections.top/ |
Upload File : |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); if(!CModule::IncludeModule("iblock")) return; $boolCatalog = CModule::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_LNS = array(); $arProperty_N = array(); $arProperty_X = array(); if ($iblockExists) { $rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("IBLOCK_ID"=>$arCurrentValues["IBLOCK_ID"], "ACTIVE"=>"Y")); while ($arr=$rsProp->Fetch()) { $arProperty[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; if(in_array($arr["PROPERTY_TYPE"], array("L", "N", "S"))) { $arProperty_LNS[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; } if($arr["PROPERTY_TYPE"]=="N") { $arProperty_N[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; } if($arr["PROPERTY_TYPE"]!="F") { if($arr["MULTIPLE"] == "Y") $arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; elseif($arr["PROPERTY_TYPE"] == "L") $arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; elseif($arr["PROPERTY_TYPE"] == "E" && $arr["LINK_IBLOCK_ID"] > 0) $arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"]; } } } $arSort = CIBlockParameters::GetElementSortFields( array('SHOWS', 'SORT', 'TIMESTAMP_X', 'NAME', 'ID', 'ACTIVE_FROM', 'ACTIVE_TO'), array('KEY_LOWERCASE' => 'Y') ); $arPrice = array(); if ($boolCatalog) { $arSort = array_merge($arSort, CCatalogIBlockParameters::GetCatalogSortFields()); $rsPrice=CCatalogGroup::GetList($v1="sort", $v2="asc"); while($arr=$rsPrice->Fetch()) $arPrice[$arr["NAME"]] = "[".$arr["NAME"]."] ".$arr["NAME_LANG"]; } else { $arPrice = $arProperty_N; } $arAscDesc = array( "asc" => GetMessage("IBLOCK_SORT_ASC"), "desc" => GetMessage("IBLOCK_SORT_DESC"), ); $arProperty_UF = array(); $arUserFields = $iblockExists ? $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_".$arCurrentValues["IBLOCK_ID"]."_SECTION") : [] ; foreach($arUserFields as $FIELD_NAME=>$arUserField) $arProperty_UF[$FIELD_NAME] = $arUserField["LIST_COLUMN_LABEL"]? $arUserField["LIST_COLUMN_LABEL"]: $FIELD_NAME; $arComponentParameters = array( "GROUPS" => array( "PRICES" => array( "NAME" => GetMessage("IBLOCK_PRICES"), ), ), "PARAMETERS" => array( "IBLOCK_TYPE" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockType, "REFRESH" => "Y", ), "IBLOCK_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_IBLOCK"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock, "REFRESH" => "Y", ), "SECTION_FIELDS" => CIBlockParameters::GetSectionFieldCode( GetMessage("CP_BCST_SECTION_FIELDS"), "DATA_SOURCE", array() ), "SECTION_USER_FIELDS" =>array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCST_SECTION_USER_FIELDS"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_UF, ), "SECTION_SORT_FIELD" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_SECTION_SORT_FIELD"), "TYPE" => "LIST", "VALUES" => CIBlockParameters::GetSectionSortFields( array('SORT', 'TIMESTAMP_X', 'NAME', 'ID', 'DEPTH_LEVEL'), array('KEY_LOWERCASE' => 'Y') ), "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "sort", ), "SECTION_SORT_ORDER" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_SECTION_SORT_ORDER"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "asc", ), "ELEMENT_SORT_FIELD" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_FIELD"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "sort", ), "ELEMENT_SORT_ORDER" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_ORDER"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "asc", "ADDITIONAL_VALUES" => "Y", ), "ELEMENT_SORT_FIELD2" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_FIELD2"), "TYPE" => "LIST", "VALUES" => $arSort, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "id", ), "ELEMENT_SORT_ORDER2" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_ORDER2"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "desc", "ADDITIONAL_VALUES" => "Y", ), "FILTER_NAME" => array( "PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_FILTER_NAME_IN"), "TYPE" => "STRING", "DEFAULT" => "arrFilter", ), "SECTION_URL" => CIBlockParameters::GetPathTemplateParam( "SECTION", "SECTION_URL", GetMessage("IBLOCK_SECTION_URL"), "", "URL_TEMPLATES" ), "DETAIL_URL" => CIBlockParameters::GetPathTemplateParam( "DETAIL", "DETAIL_URL", GetMessage("IBLOCK_DETAIL_URL"), "", "URL_TEMPLATES" ), "BASKET_URL" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_BASKET_URL"), "TYPE" => "STRING", "DEFAULT" => "/personal/basket.php", ), "ACTION_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_ACTION_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "action" ), "PRODUCT_ID_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_PRODUCT_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "id" ), "PRODUCT_QUANTITY_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("CP_BCST_PRODUCT_QUANTITY_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "quantity", ), "PRODUCT_PROPS_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("CP_BCST_PRODUCT_PROPS_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "prop", ), "SECTION_ID_VARIABLE" => array( "PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_SECTION_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "SECTION_ID" ), "DISPLAY_COMPARE" => Array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_DISPLAY_COMPARE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "USE_MAIN_ELEMENT_SECTION" => array( "PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCST_USE_MAIN_ELEMENT_SECTION"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "SECTION_COUNT" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_SECTION_COUNT"), "TYPE" => "STRING", "DEFAULT" => "20", ), "ELEMENT_COUNT" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_ELEMENT_COUNT"), "TYPE" => "STRING", "DEFAULT" => "9", ), "LINE_ELEMENT_COUNT" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_LINE_ELEMENT_COUNT"), "TYPE" => "STRING", "DEFAULT" => "3", ), "PROPERTY_CODE" => array( "PARENT" => "VISUAL", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_LNS, "ADDITIONAL_VALUES" => "Y", ), "PRICE_CODE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_PRICE_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arPrice, ), "USE_PRICE_COUNT" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_USE_PRICE_COUNT"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "SHOW_PRICE_COUNT" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_SHOW_PRICE_COUNT"), "TYPE" => "STRING", "DEFAULT" => "1", ), "PRICE_VAT_INCLUDE" => array( "PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_VAT_INCLUDE"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), "PRODUCT_PROPERTIES" => array( "PARENT" => "PRICES", "NAME" => GetMessage("CP_BCST_PRODUCT_PROPERTIES"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_X, ), "USE_PRODUCT_QUANTITY" => array( "PARENT" => "PRICES", "NAME" => GetMessage("CP_BCST_USE_PRODUCT_QUANTITY"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => 'Y', ), "CACHE_TIME" => Array("DEFAULT"=>36000000), "CACHE_FILTER" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("IBLOCK_CACHE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", ), "CACHE_GROUPS" => array( "PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCST_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", ), ), ); if ($boolCatalog) { $arComponentParameters["PARAMETERS"]['HIDE_NOT_AVAILABLE'] = array( 'PARENT' => 'DATA_SOURCE', 'NAME' => GetMessage('CP_BCST_HIDE_NOT_AVAILABLE_EXT'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N', ); if (CModule::IncludeModule('currency')) { $arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCST_CONVERT_CURRENCY'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N', 'REFRESH' => 'Y', ); if (isset($arCurrentValues['CONVERT_CURRENCY']) && 'Y' == $arCurrentValues['CONVERT_CURRENCY']) { $arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array( 'PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCST_CURRENCY_ID'), 'TYPE' => 'LIST', 'VALUES' => \Bitrix\Currency\CurrencyManager::getCurrencyList(), 'DEFAULT' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(), "ADDITIONAL_VALUES" => "Y", ); } } }