• Модуль: highloadblock
  • Путь к файлу: ~/bitrix/modules/highloadblock/classes/general/prop_directory.php
  • Класс: CIBlockPropertyDirectory
  • Вызов: CIBlockPropertyDirectory::GetSettingsHTML
static function GetSettingsHTML($arProperty, $strHTMLControlName, &$arPropertyFields): string
{
	$iblockID = 0;
	if (isset($arProperty['IBLOCK_ID']))
		$iblockID = (int)$arProperty['IBLOCK_ID'];
	CJSCore::Init(array('translit'));
	$settings = static::PrepareSettings($arProperty);
	if (isset($settings['USER_TYPE_SETTINGS']))
		$settings = $settings['USER_TYPE_SETTINGS'];
	$arPropertyFields = array(
		'HIDE' => ['ROW_COUNT', 'COL_COUNT', 'MULTIPLE_CNT', 'DEFAULT_VALUE', 'WITH_DESCRIPTION'],
		'SET' => ['DEFAULT_VALUE' => '']
	);

	$directory = [];
	$cellOption = '';

	$rsData = HLHighloadBlockTable::getList(array(
		'select' => array('*', 'NAME_LANG' => 'LANG.NAME'),
		'order' => array('NAME_LANG' => 'ASC', 'NAME' => 'ASC')
	));
	while($arData = $rsData->fetch())
	{
		if ($settings['TABLE_NAME'] == $arData['TABLE_NAME'])
		{
			$directory = $arData;
			unset($directory['NAME_LANG']);
		}
		$arData['NAME_LANG'] = (string)$arData['NAME_LANG'];
		$hlblockTitle = ($arData['NAME_LANG'] != '' ? $arData['NAME_LANG'] : $arData['NAME']).' ('.$arData["TABLE_NAME"].')';
		$selected = ($settings["TABLE_NAME"] == $arData['TABLE_NAME']) ? ' selected' : '';
		$cellOption .= '';
		unset($hlblockTitle);
	}
	unset($arData, $rsData);

	if (!empty($directory))
	{
		$defaultValue = self::getDefaultXmlId($directory);
		if ($defaultValue !== null)
			$arPropertyFields['SET']['DEFAULT_VALUE'] = $defaultValue;
		unset($defaultValue);
	}
	unset($directory);

	$multiple = $arProperty['MULTIPLE'];

	$tablePrefix = self::TABLE_PREFIX;
	$selectDir = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_SELECT_DIR");
	$headingXmlId = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_XML_ID");
	$headingName = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_NAME");
	$headingSort = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_SORT");
	$headingDef = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_DEF");
	$headingLink = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_LINK");
	$headingFile = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_FILE");
	$headingDescription = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_DECSRIPTION");
	$headingFullDescription = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_FULL_DESCRIPTION");
	$directoryName = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_NEW_NAME");
	$directoryMore = Loc::getMessage("HIBLOCK_PROP_DIRECTORY_MORE");

	$emptyDefaultValue = '';
	if ($multiple == 'N')
	{
		$emptyDefaultValue = ''.
			''.Loc::getMessage('HIBLOCK_PROP_DIRECTORY_EMPTY_DEFAULT_VALUE').''.
			''.
			''.
			' '.
			'';
	}

	return <<<"HIBSELECT"


{$selectDir}:

	
	



$directoryName

	
	




	
HIBSELECT; }