• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/component/baseform.php
  • Класс: BitrixCatalogComponentBaseForm
  • Вызов: BaseForm::getFieldTypeByObject
private function getFieldTypeByObject(ScalarField $field): string
{
	$fieldName = $field->getName();

	if ($fieldName === 'PREVIEW_PICTURE' || $fieldName === 'DETAIL_PICTURE')
	{
		return 'custom';
	}

	if ($fieldName === 'PREVIEW_TEXT' || $fieldName === 'DETAIL_TEXT')
	{
		return 'html';
	}

	if ($fieldName === 'MODIFIED_BY' || $fieldName === 'CREATED_BY')
	{
		return 'user';
	}

	switch (get_class($field))
	{
		case IntegerField::class:
		case FloatField::class:
			$fieldType = 'number';
			break;

		case BooleanField::class:
			$fieldType = 'boolean';
			break;

		case EnumField::class:
			$fieldType = 'list';
			break;

		case DateField::class:
		case DatetimeField::class:
			$fieldType = 'datetime';
			break;

		case TextField::class:
			$fieldType = 'textarea';
			break;

		case StringField::class:
		default:
			$fieldType = 'text';
	}

	return $fieldType;
}