• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_element_auto.php
  • Класс: CIBlockPropertyElementAutoComplete
  • Вызов: CIBlockPropertyElementAutoComplete::GetPropertyFieldHtmlMulty
static function GetPropertyFieldHtmlMulty($arProperty, $arValues, $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')
	{
		$arResult = [];
		foreach ($arValues as $intPropertyValueID => $arOneValue)
		{
			$mxElement = static::GetPropertyValue($arProperty,$arOneValue);
			if (is_array($mxElement))
			{
				$searchUrl = static::getSearchUrl().'?lang='.LANGUAGE_ID.
					'&IBLOCK_ID='.$arProperty['LINK_IBLOCK_ID'].
					'&n='.urlencode($strHTMLControlName["VALUE"].'['.$intPropertyValueID.']').
					($fixIBlock ? '&iblockfix=y' : '').
					'&tableId='.$windowTableId;
				$arResult[] = ''.
				''.
				' '.$mxElement['NAME'].'';
				unset($searchUrl);
			}
		}

		if ((int)$arProperty['MULTIPLE_CNT'] > 0)
		{
			for ($i = 0; $i < $arProperty['MULTIPLE_CNT']; $i++)
			{
				$searchUrl = static::getSearchUrl().'?lang='.LANGUAGE_ID.
					'&IBLOCK_ID='.$arProperty['LINK_IBLOCK_ID'].
					'&n='.urlencode($strHTMLControlName["VALUE"].'[n'.$i.']').
					($fixIBlock ? '&iblockfix=y' : '').
					'&tableId='.$windowTableId;
				$arResult[] = ''.
				''.
				' ';
			}
			unset($searchUrl);
		}

		$strResult = implode('
',$arResult); } else { $mxResultValue = static::GetValueForAutoCompleteMulti($arProperty,$arValues,$arSymbols['BAN_SYM'],$arSymbols['REP_SYM']); $strResultValue = (is_array($mxResultValue) ? htmlspecialcharsback(implode("n",$mxResultValue)) : ''); 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" => $strResultValue, "START_TEXT" => Loc::getMessage('BT_UT_EAUTOCOMPLETE_MESS_INVITE'), "MULTIPLE" => $arProperty["MULTIPLE"], "MAX_WIDTH" => $arSettings['MAX_WIDTH'], "MIN_HEIGHT" => $arSettings['MIN_HEIGHT'], "MAX_HEIGHT" => $arSettings['MAX_HEIGHT'], "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_MULTI_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);" >