• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/input.php
  • Класс: BitrixSaleInternalsInputEnum
  • Вызов: Enum::getEditHtml
static function getEditHtml($name, array $input, $value = null)
{
	$options = $input['OPTIONS'];

	if (! is_array($options))
		return Loc::getMessage('INPUT_ENUM_OPTIONS_ERROR');

	$multiple = isset($input['MULTIPLE']) && $input['MULTIPLE'] === 'Y';

	$name = htmlspecialcharsbx($name);

	if ($value === null && isset($input['VALUE']))
	{
		$value = $input['VALUE'];
	}

	$originalValue = $value;
	$html = '';

	if (isset($input['HIDDEN']) && ($input['HIDDEN'] === 'Y' || $input['HIDDEN'] === true))
	{
		$html .= static::getHiddenRecursive($name
			, $multiple ? static::asMultiple($value) : static::asSingle($value)
			, static::extractAttributes($input, array('DISABLED'=>''), array('FORM'=>1), false));
	}
	else
	{
		if ($value === null)
			$value = array();
		else
			$value = $multiple ? array_flip(static::asMultiple($value)) : array(static::asSingle($value) => true);

		if (isset($input['MULTIELEMENT']) && $input['MULTIELEMENT'] === 'Y')
		{
			$tag = isset($input['MULTITAG']) ? htmlspecialcharsbx($input['MULTITAG']) : static::MULTITAG;
			[$startTag, $endTag] = $tag ? array("<$tag>", "") : array('', '');

			$attributes = static::extractAttributes($input, array('DISABLED'=>''), array('FORM'=>1), false);

			$type = 'radio';

			if ($multiple)
			{
				$type = 'checkbox';
				$name .= '[]';
			}

			$html .= self::getEditOptionsHtml($options, $value, ' checked',
				'
{GROUP}{OPTIONS}
', $startTag.''.$endTag ); } else // select { $attributes = static::extractAttributes($input, array('DISABLED'=>'', 'AUTOFOCUS'=>'', 'REQUIRED'=>''), array('FORM'=>1, 'SIZE'=>1)); $html .= '' : '">'); $html .= self::getEditOptionsHtml($options, $value, ' selected', '{OPTIONS}', '' ); $html .= ''; } } if (isset($input['ADDITIONAL_HIDDEN']) && $input['ADDITIONAL_HIDDEN'] === 'Y') { $html .= static::getHiddenRecursive($name , $multiple ? static::asMultiple($originalValue) : static::asSingle($originalValue) , static::extractAttributes($input, array(), array('FORM'=>1), false)); } return $html; }