Your IP : 52.15.244.213
<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
{
die();
}
/** @var array $arCurrentValues */
use Bitrix\Main\Loader;
if (!Loader::includeModule('iblock'))
{
return;
}
$arTypes = CIBlockParameters::GetIBlockTypes();
$arIBlocks = [];
$iblockFilter = [
'ACTIVE' => 'Y',
];
if (!empty($arCurrentValues['IBLOCK_TYPE']))
{
$iblockFilter['TYPE'] = $arCurrentValues['IBLOCK_TYPE'];
}
if (isset($_REQUEST['site']))
{
$iblockFilter['SITE_ID'] = $_REQUEST['site'];
}
$db_iblock = CIBlock::GetList(["SORT"=>"ASC"], $iblockFilter);
while($arRes = $db_iblock->Fetch())
{
$arIBlocks[$arRes["ID"]] = "[" . $arRes["ID"] . "] " . $arRes["NAME"];
}
$arProperty_LNS = array();
if (
!empty($arCurrentValues['IBLOCKS'])
&& is_array($arCurrentValues['IBLOCKS'])
&& count($arCurrentValues['IBLOCKS']) === 1
)
{
$rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$arCurrentValues["IBLOCKS"][0]));
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"];
}
}
}
$arSorts = [
"ASC" => GetMessage("T_IBLOCK_DESC_ASC"),
"DESC" => GetMessage("T_IBLOCK_DESC_DESC"),
];
$arSortFields = [
"ID" => GetMessage("T_IBLOCK_DESC_FID"),
"NAME" => GetMessage("T_IBLOCK_DESC_FNAME"),
"ACTIVE_FROM" => GetMessage("T_IBLOCK_DESC_FACT"),
"SORT" => GetMessage("T_IBLOCK_DESC_FSORT"),
"TIMESTAMP_X" => GetMessage("T_IBLOCK_DESC_FTSAMP"),
];
$arComponentParameters = [
"GROUPS" => [],
"PARAMETERS" => [
"IBLOCK_TYPE" => [
"PARENT" => "BASE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBTYPE"),
"TYPE" => "LIST",
"VALUES" => $arTypes,
"DEFAULT" => "news",
"REFRESH" => "Y",
],
"IBLOCKS" => [
"PARENT" => "BASE",
"NAME" => GetMessage("T_IBLOCK_DESC_LIST_ID"),
"TYPE" => "LIST",
"VALUES" => $arIBlocks,
"MULTIPLE" => "Y",
"REFRESH" => "Y",
],
"NEWS_COUNT" => [
"PARENT" => "BASE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBCNT"),
"TYPE" => "STRING",
"DEFAULT" => "5",
],
"IBLOCK_SORT_BY" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBSORT"),
"TYPE" => "LIST",
"VALUES" => [
"SORT" => GetMessage("T_IBLOCK_DESC_SORT"),
"NAME" => GetMessage("T_IBLOCK_DESC_FNAME"),
"ID" => GetMessage("T_IBLOCK_DESC_ID"),
],
"DEFAULT" => "SORT",
],
"IBLOCK_SORT_ORDER" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBSORTBY"),
"TYPE" => "LIST",
"DEFAULT" => "ASC",
"VALUES" => $arSorts,
"ADDITIONAL_VALUES" => "Y",
],
"SORT_BY1" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBORD1"),
"TYPE" => "LIST",
"DEFAULT" => "ACTIVE_FROM",
"VALUES" => $arSortFields,
"ADDITIONAL_VALUES" => "Y",
],
"SORT_ORDER1" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBBY1"),
"TYPE" => "LIST",
"DEFAULT" => "DESC",
"VALUES" => $arSorts,
"ADDITIONAL_VALUES" => "Y",
],
"SORT_BY2" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBORD2"),
"TYPE" => "LIST",
"DEFAULT" => "SORT",
"VALUES" => $arSortFields,
"ADDITIONAL_VALUES" => "Y",
],
"SORT_ORDER2" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("T_IBLOCK_DESC_IBBY2"),
"TYPE" => "LIST",
"DEFAULT" => "ASC",
"VALUES" => $arSorts,
"ADDITIONAL_VALUES" => "Y",
],
"FIELD_CODE" => CIBlockParameters::GetFieldCode(GetMessage("IBLOCK_FIELD"), "DATA_SOURCE"),
"PROPERTY_CODE" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("IBLOCK_PROPERTY"),
"TYPE" => "LIST",
"MULTIPLE" => "Y",
"VALUES" => $arProperty_LNS,
"ADDITIONAL_VALUES" => "Y",
],
"FILTER_NAME" => [
"PARENT" => "DATA_SOURCE",
"NAME" => GetMessage("IBLOCK_FILTER_NAME_IN"),
"TYPE" => "STRING",
"DEFAULT" => "arrFilter",
],
"IBLOCK_URL" => CIBlockParameters::GetPathTemplateParam(
"LIST",
"IBLOCK_URL",
GetMessage("IBLOCK_IBLOCK_URL"),
"",
"URL_TEMPLATES"
),
"DETAIL_URL" => CIBlockParameters::GetPathTemplateParam(
"DETAIL",
"DETAIL_URL",
GetMessage("IBLOCK_DETAIL_URL"),
"",
"URL_TEMPLATES"
),
"ACTIVE_DATE_FORMAT" => CIBlockParameters::GetDateFormat(GetMessage("T_IBLOCK_DESC_ACTIVE_DATE_FORMAT"), "ADDITIONAL_SETTINGS"),
"CACHE_TIME" => ["DEFAULT"=>36000000],
"CACHE_GROUPS" => [
"PARENT" => "CACHE_SETTINGS",
"NAME" => GetMessage("CP_BNI_CACHE_GROUPS"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "Y",
],
],
];