• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/field.php
  • Класс: BitrixListsField
  • Вызов: Field::prepareEditFieldByTypeF
static function prepareEditFieldByTypeF(array $field)
{
	$html = '';
	if(!is_array($field['VALUE']))
		$field['VALUE'] = array($field['VALUE']);

	$isEmptyValue = true;
	foreach($field['VALUE'] as $value)
	{
		if(!empty($value['VALUE']))
			$isEmptyValue = false;
	}

	if($field['MULTIPLE'] == 'Y')
	{
		$html .= '';
		if($field['ELEMENT_ID'] > 0 && $isEmptyValue && $field['READ'] == 'Y')
		{
			$html .= '';
		}
		else
		{
			$iblockId = !empty($field['IBLOCK_ID']) ? intval($field['IBLOCK_ID']) : 0;
			$sectionId = !empty($field['SECTION_ID']) ? intval($field['SECTION_ID']) : 0;
			$elementId = !empty($field['ELEMENT_ID']) ? intval($field['ELEMENT_ID']) : 0;
			$fieldId = !empty($field['FIELD_ID']) ? $field['FIELD_ID'] : '';
			$socnetGroupId = !empty($field['SOCNET_GROUP_ID']) ? intval($field['SOCNET_GROUP_ID']) : 0;
			$urlTemplate = !empty($field['LIST_FILE_URL']) ? $field['LIST_FILE_URL'] : '';
			$downloadUrl = !empty($field['DOWNLOAD_FILE_URL']) ? $field['DOWNLOAD_FILE_URL'] : '';
			$params = array(
				'max_size' => 2024000,
				'max_width' => 100,
				'max_height' => 100,
				'url_template' => $urlTemplate,
				'download_url' => $downloadUrl,
				'download_text' => Loc::getMessage('LISTS_FIELD_FILE_DOWNLOAD'),
				'show_input' => $field['READ'] == 'N'
			);
			foreach($field['VALUE'] as $key => $value)
			{
				$html .= '';
			}
		}
		$html .= '
'; $html .= Loc::getMessage('LISTS_FIELD_NOT_DATA'); $html .= '
'; $file = new CListFile($iblockId, $sectionId, $elementId, $fieldId, is_array($value) && isset($value['VALUE']) ? $value['VALUE'] : $value); $file->setSocnetGroup($socnetGroupId); $fieldControlId = $field['TYPE'] == 'F' && self::$renderForForm ? $fieldId.'['.$key.'][VALUE]' : $fieldId; $fileControl = new CListFileControl($file, $fieldControlId); $html .= $fileControl->getHTML($params); $html .= '
'; if($field['READ'] == 'N') { $html .= ''; } } else { $html .= ($field['ELEMENT_ID'] > 0 && $isEmptyValue && $field['READ'] == 'Y') ? Loc::getMessage('LISTS_FIELD_NOT_DATA') : self::renderFieldByTypeF($field); } $result = array( 'id' => $field['FIELD_ID'], 'name' => $field['NAME'], 'required' => $field['IS_REQUIRED'] == 'Y' ? true : false, 'type' => 'custom', 'show' => $field['SHOW'], 'value' => $html ); return $result; }