• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/field.php
  • Класс: BitrixListsField
  • Вызов: Field::prepareEditFieldByTypeL
static function prepareEditFieldByTypeL(array $field)
{
	$items = array('' => Loc::getMessage('LISTS_FIELD_NO_VALUE'));
	$queryObject = CIBlockProperty::getPropertyEnum($field['ID']);
	while($enum = $queryObject->fetch())
	{
		if ($enum['DEF'] == 'Y')
		{
			$field['DEFAULT_VALUE'] = $enum['ID'];
		}
		$items[$enum['ID']] = $enum['VALUE'];
	}

	$inputName = $field['FIELD_ID'];
	if($field['MULTIPLE'] == 'Y')
	{
		$inputName .= '[]';
		$params = array('size' => 5, 'multiple' => 'multiple');
	}
	else
	{
		$params = array();
	}

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

	if (empty($field['VALUE']))
	{
		$field['VALUE'][] = $field['DEFAULT_VALUE'];
	}

	$result = array(
		'id' => $inputName,
		'name' => $field['NAME'],
		'required' => $field['IS_REQUIRED'] == 'Y' ? true : false,
		"type"=>'list',
		"items"=>$items,
		'show' => $field['SHOW'],
		'value' => $field['VALUE'],
		'customHtml' => '',
	);
	if($field['READ'] == 'Y')
	{
		$params['disabled'] = 'disabled';

		foreach($field['VALUE'] as $value)
		{
			$result['customHtml'] .= '';
		}
	}
	$result['params'] = $params;

	return $result;
}