• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/systemfield/productmapping.php
  • Класс: BitrixCatalogProductSystemFieldProductMapping
  • Вызов: ProductMapping::getHighloadblockFields
static function getHighloadblockFields(): array
{
	$result = [];

	$fieldSettings = [
		'XML_ID' => [
			'DEFAULT_VALUE' => '',
			'SIZE' => 50,
			'ROWS' => 1,
			'MIN_LENGTH' => 1,
			'MAX_LENGTH' => 50,
			'REGEXP' => ''
		],
		'NAME' => [
			'DEFAULT_VALUE' => '',
			'SIZE' => 100,
			'ROWS' => 1,
			'MIN_LENGTH' => 1,
			'MAX_LENGTH' => 255,
			'REGEXP' => ''
		]
	];

	$sort = 100;
	foreach (array_keys($fieldSettings) as $fieldId)
	{
		$messageList = static::getMessages(
			__FILE__,
			[
				'EDIT_FORM_LABEL' => 'PRODUCT_MAPPING_UF_FIELD_'.$fieldId,
				'LIST_COLUMN_LABEL' => 'PRODUCT_MAPPING_UF_FIELD_'.$fieldId,
				'LIST_FILTER_LABEL' => 'PRODUCT_MAPPING_UF_FIELD_'.$fieldId
			]
		);

		$result[] = [
				'FIELD_NAME' => static::getUserFieldName($fieldId),
				'USER_TYPE_ID' => MainUserFieldTypesStringType::USER_TYPE_ID,
				'XML_ID' => $fieldId,
				'SORT' => $sort,
				'MULTIPLE' => 'N',
				'MANDATORY' => 'Y',
				'SHOW_FILTER' => 'S',
				'SHOW_IN_LIST' => 'Y',
				'EDIT_IN_LIST' => 'Y',
				'IS_SEARCHABLE' => 'N',
				'SETTINGS' => $fieldSettings[$fieldId],
			] + $messageList;
		$sort += 100;
	}

	return $result;
}