• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_xmlid.php
  • Класс: CIBlockPropertyXmlID
  • Вызов: CIBlockPropertyXmlID::GetUIEntityEditorPropertyEditHtml
static function GetUIEntityEditorPropertyEditHtml(array $params = []) : string
{
	$settings = $params['SETTINGS'] ?? [];

	BitrixMainUIExtension::load(['ui.entity-selector', 'ui.buttons', 'ui.forms']);
	$fieldName = htmlspecialcharsbx($params['FIELD_NAME']);
	$containerId = $fieldName . '_container';
	$inputsContainerId = $fieldName . '_inputs_container';

	$isMultiple = $settings['MULTIPLE'] === 'Y';
	$isMultiple = CUtil::PhpToJSObject($isMultiple);

	if (!is_array($params['VALUE']))
	{
		$params['VALUE'] = (!empty($params['VALUE'])) ? [$params['VALUE']] : [];
	}

	$preselectedItems = [];
	foreach ($params['VALUE'] as $value)
	{
		if (!$value)
		{
			continue;
		}
		$element = self::getElementByXmlId($value);
		if ($element)
		{
			$preselectedItems[] = ['iblock-element-xml', (string)$element['ID']];
		}
	}

	$preselectedItems = CUtil::PhpToJSObject($preselectedItems);
	$messages = [
		'NOT_FOUND' => Loc::getMessage('BT_UT_XML_ID_SEARCH_NOT_FOUND'),
		'CHANGE_QUERY' => Loc::getMessage('BT_UT_XML_ID_SEARCH_CHANGE_QUERY'),
		'ENTER_QUERY' => Loc::getMessage('BT_UT_XML_ID_SEARCH_ENTER_QUERY'),
		'ENTER_QUERY_SUBTITLE' => Loc::getMessage('BT_UT_XML_ID_SEARCH_ENTER_QUERY_SUBTITLE'),
	];
	$propertyType = self::USER_TYPE;

	return <<
HTML; }