• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_element_auto.php
  • Класс: CIBlockPropertyElementAutoComplete
  • Вызов: CIBlockPropertyElementAutoComplete::GetPropertyFieldHtml
static function GetPropertyFieldHtml($arProperty, $arValue, $strHTMLControlName)
{
	global $APPLICATION;

	$arSettings = static::PrepareSettings($arProperty);
	if (isset($arSettings['USER_TYPE_SETTINGS']))
	{
		$arSettings = $arSettings['USER_TYPE_SETTINGS'];
	}
	$arSymbols = static::GetSymbols($arSettings);

	$arProperty['LINK_IBLOCK_ID'] = (int)$arProperty['LINK_IBLOCK_ID'];
	$fixIBlock = $arProperty['LINK_IBLOCK_ID'] > 0;
	$windowTableId = 'iblockprop-'.IblockPropertyTable::TYPE_ELEMENT.'-'.$arProperty['ID'].'-'.$arProperty['LINK_IBLOCK_ID'];

	if (isset($strHTMLControlName['MODE']) && $strHTMLControlName['MODE'] == 'iblock_element_admin')
	{
		$searchUrl = static::getSearchUrl().'?lang='.LANGUAGE_ID.
			'&IBLOCK_ID='.$arProperty['LINK_IBLOCK_ID'].
			'&n='.urlencode($strHTMLControlName['VALUE']).
			($fixIBlock ? '&iblockfix=y' : '').
			'&tableId='.$windowTableId;
		$mxElement = static::GetPropertyValue($arProperty,$arValue);
		if (!is_array($mxElement))
		{
			$strResult = ''.
				''.
				' ';
		}
		else
		{
			$strResult = ''.
				''.
				' '.$mxElement['NAME'].'';
		}
		unset($searchUrl);
	}
	else
	{
		ob_start();
		?>IncludeComponent(
			"bitrix:main.lookup.input",
			"iblockedit",
			array(
				"CONTROL_ID" => preg_replace(
					"/[^a-zA-Z0-9_]/i",
					"x",
					$strHTMLControlName["VALUE"].'_'.mt_rand(0, 10000)
				),
				"INPUT_NAME" => $strHTMLControlName["VALUE"],
				"INPUT_NAME_STRING" => "inp_".$strHTMLControlName["VALUE"],
				"INPUT_VALUE_STRING" => htmlspecialcharsback(static::GetValueForAutoComplete(
					$arProperty,
					$arValue,
					$arSymbols['BAN_SYM'],
					$arSymbols['REP_SYM']
				)),
				"START_TEXT" => Loc::getMessage('BT_UT_EAUTOCOMPLETE_MESS_INVITE'),
				"MULTIPLE" => $arProperty["MULTIPLE"],
				"MAX_WIDTH" => $arSettings['MAX_WIDTH'],
				"IBLOCK_ID" => $arProperty["LINK_IBLOCK_ID"],
				'WITHOUT_IBLOCK' => (!$fixIBlock ? 'Y' : 'N'),
				'BAN_SYM' => $arSymbols['BAN_SYM_STRING'],
				'REP_SYM' => $arSymbols['REP_SYM_STRING'],
				'FILTER' => 'Y'
			), null, array("HIDE_ICONS" => "Y")
		);
		?>IncludeComponent(
				'bitrix:main.tree.selector',
				'iblockedit',
				array(
					"INPUT_NAME" => $strHTMLControlName["VALUE"],
					'ONSELECT' => 'jsMLI_'.$control_id.'.SetValue',
					'MULTIPLE' => $arProperty["MULTIPLE"],
					'SHOW_INPUT' => 'N',
					'SHOW_BUTTON' => 'Y',
					'GET_FULL_INFO' => 'Y',
					"START_TEXT" => Loc::getMessage("BT_UT_EAUTOCOMPLETE_MESS_LIST_INVITE"),
					'BUTTON_CAPTION' => Loc::getMessage('BT_UT_EAUTOCOMPLETE_MESS_CHOOSE_ELEMENT'),
					'BUTTON_TITLE' => Loc::getMessage('BT_UT_EAUTOCOMPLETE_MESS_CHOOSE_ELEMENT_DESCR'),
					"NO_SEARCH_RESULT_TEXT" => Loc::getMessage("BT_UT_EAUTOCOMPLETE_MESS_NO_SEARCH_RESULT_TEXT"),
					"IBLOCK_ID" => $arProperty["LINK_IBLOCK_ID"],
					'WITHOUT_IBLOCK' => (!$fixIBlock ? 'Y' : 'N'),
					'BAN_SYM' => $arSymbols['BAN_SYM_STRING'],
					'REP_SYM' => $arSymbols['REP_SYM_STRING']
				), null, array("HIDE_ICONS" => "Y")
			);
			?> null,
						'IBLOCK_SECTION_ID' => -1,
						'find_section_section' => -1,
						'lookup' => 'jsMLI_'.$control_id,
						'tableId' => $windowTableId
					),
					($fixIBlock ? '&iblockfix=y' : '')
					); ?>', 900, 700);"
				>