Your IP : 3.142.130.174
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/** @var array $arCurrentValues */
use Bitrix\Main\Loader;
use Bitrix\Iblock;
use Bitrix\Currency;
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 = (
!empty($arCurrentValues['IBLOCK_TYPE'])
? array('TYPE' => $arCurrentValues['IBLOCK_TYPE'], 'ACTIVE' => 'Y')
: array('ACTIVE' => 'Y')
);
$rsIBlock = CIBlock::GetList(array('SORT' => 'ASC'), $iblockFilter);
while ($arr = $rsIBlock->Fetch())
$arIBlock[$arr['ID']] = '['.$arr['ID'].'] '.$arr['NAME'];
unset($arr, $rsIBlock, $iblockFilter);
$arProperty_LNS = array();
$arProperty_N = array();
$arProperty_LINK = array();
if ($iblockExists)
{
$propertyIterator = Iblock\PropertyTable::getList(array(
'select' => array('ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE'),
'filter' => array('=IBLOCK_ID' => $arCurrentValues['IBLOCK_ID'], '=ACTIVE' => 'Y'),
'order' => array('SORT' => 'ASC', 'NAME' => 'ASC')
));
while ($property = $propertyIterator->fetch())
{
$propertyCode = (string)$property['CODE'];
if ($propertyCode == '')
$propertyCode = $property['ID'];
$propertyName = '['.$propertyCode.'] '.$property['NAME'];
if (
$property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_LIST
|| $property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_NUMBER
|| $property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_STRING
)
$arProperty_LNS[$propertyCode] = $propertyName;
if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_ELEMENT)
$arProperty_LINK[$propertyCode] = $propertyName;
if ($property['PROPERTY_TYPE'] == Iblock\PropertyTable::TYPE_NUMBER)
$arProperty_N[$propertyCode] = $propertyName;
}
unset($propertyCode, $propertyName, $property, $propertyIterator);
}
$arSort = CIBlockParameters::GetElementSortFields(
array('SHOWS', 'SORT', 'TIMESTAMP_X', 'NAME', 'ID', 'ACTIVE_FROM', 'ACTIVE_TO'),
array('KEY_LOWERCASE' => 'Y')
);
$arPrice = array();
if ($catalogIncluded)
{
$arSort = array_merge($arSort, CCatalogIBlockParameters::GetCatalogSortFields());
$arPrice = CCatalogIBlockParameters::getPriceTypesList();
}
else
{
$arPrice = $arProperty_N;
}
$arAscDesc = array(
"asc" => GetMessage("IBLOCK_SORT_ASC"),
"desc" => GetMessage("IBLOCK_SORT_DESC"),
);
$arComponentParameters = array(
"GROUPS" => array(
"ACTION_SETTINGS" => array(
"NAME" => GetMessage('IBLOCK_ACTIONS')
),
"PRICES" => array(
"NAME" => GetMessage("IBLOCK_PRICES"),
),
"COMPARE" => array(
"NAME" => GetMessage('IBLOCK_COMPARE')
),
'EXTENDED_SETTINGS' => array(
'NAME' => GetMessage('IBLOCK_EXTENDED_SETTINGS'),
'SORT' => 10000
)
),
"PARAMETERS" => array(
"AJAX_MODE" => 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",
),
"LINK_PROPERTY_SID" => array(
"PARENT" => "BASE",
"NAME" => GetMessage("IBLOCK_LINK_PROPERTY_SID"),
"TYPE" => "LIST",
"ADDITIONAL_VALUES" => "Y",
"VALUES" => $arProperty_LINK
),
"ELEMENT_ID" => array(
"PARENT" => "BASE",
"NAME" => GetMessage("IBLOCK_ELEMENT_ID"),
"TYPE" => "STRING",
"DEFAULT" => '={$_REQUEST["PARENT_ELEMENT_ID"]}'
),
"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" => "ACTION_SETTINGS",
"NAME" => GetMessage("IBLOCK_ACTION_VARIABLE"),
"TYPE" => "STRING",
"DEFAULT" => "action"
),
"PRODUCT_ID_VARIABLE" => array(
"PARENT" => "ACTION_SETTINGS",
"NAME" => GetMessage("IBLOCK_PRODUCT_ID_VARIABLE"),
"TYPE" => "STRING",
"DEFAULT" => "id"
),
"SECTION_ID_VARIABLE" => array(
"PARENT" => "URL_TEMPLATES",
"NAME" => GetMessage("IBLOCK_SECTION_ID_VARIABLE"),
"TYPE" => "STRING",
"DEFAULT" => "SECTION_ID"
),
"SET_TITLE" => Array(),
"PAGE_ELEMENT_COUNT" => array(
"PARENT" => "VISUAL",
"NAME" => GetMessage("IBLOCK_PAGE_ELEMENT_COUNT"),
"TYPE" => "STRING",
"DEFAULT" => "30",
),
"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",
),
"DISPLAY_COMPARE" => array(
"PARENT" => "COMPARE",
"NAME" => GetMessage("CP_BCLL_DISPLAY_COMPARE"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
"REFRESH" => "Y"
),
"CACHE_TIME" => Array("DEFAULT"=>300),
"CACHE_FILTER" => array(
"PARENT" => "CACHE_SETTINGS",
"NAME" => GetMessage("IBLOCK_CACHE_FILTER"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
),
"CACHE_GROUPS" => array(
"PARENT" => "CACHE_SETTINGS",
"NAME" => GetMessage("CP_BCLL_CACHE_GROUPS"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "Y",
),
"SET_LAST_MODIFIED" => array(
"PARENT" => "ADDITIONAL_SETTINGS",
"NAME" => GetMessage("CP_BCLL_SET_LAST_MODIFIED"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "N",
),
'COMPATIBLE_MODE' => array(
'PARENT' => 'EXTENDED_SETTINGS',
'NAME' => GetMessage('CP_BCLL_COMPATIBLE_MODE'),
'TYPE' => 'CHECKBOX',
'DEFAULT' => 'Y',
'REFRESH' => 'Y'
),
),
);
CIBlockParameters::AddPagerSettings($arComponentParameters, GetMessage("T_IBLOCK_DESC_PAGER_CATALOG"), true, true);
if ($catalogIncluded)
{
$arComponentParameters["PARAMETERS"]['HIDE_NOT_AVAILABLE'] = array(
'PARENT' => 'DATA_SOURCE',
'NAME' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE'),
'TYPE' => 'LIST',
'DEFAULT' => 'N',
'VALUES' => array(
'Y' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_HIDE'),
'L' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_LAST'),
'N' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_SHOW')
),
'ADDITIONAL_VALUES' => 'N'
);
$arComponentParameters['PARAMETERS']['HIDE_NOT_AVAILABLE_OFFERS'] = array(
'PARENT' => 'DATA_SOURCE',
'NAME' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS'),
'TYPE' => 'LIST',
'DEFAULT' => 'N',
'VALUES' => array(
'Y' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_HIDE'),
'L' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_SUBSCRIBE'),
'N' => GetMessage('CP_BCLL_HIDE_NOT_AVAILABLE_OFFERS_SHOW')
)
);
$arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array(
'PARENT' => 'PRICES',
'NAME' => GetMessage('CP_BCLL_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_BCLL_CURRENCY_ID'),
'TYPE' => 'LIST',
'VALUES' => Currency\CurrencyManager::getCurrencyList(),
'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(),
'ADDITIONAL_VALUES' => 'Y',
);
}
}
if (isset($arCurrentValues['DISPLAY_COMPARE']) && $arCurrentValues['DISPLAY_COMPARE'] == 'Y')
{
$arComponentParameters['PARAMETERS']['COMPARE_PATH'] = array(
'PARENT' => 'COMPARE',
'NAME' => GetMessage('CP_BCLL_COMPARE_PATH'),
'TYPE' => 'STRING',
'DEFAULT' => ''
);
}