• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/Integration/UI/EntityEditor/PropertyProvider.php
  • Класс: BitrixIblockIntegrationUIEntityEditorPropertyProvider
  • Вызов: PropertyProvider::getAdditionalFields
public function getAdditionalFields(): array
{
	$fields = [
		[
			'name' => 'FILTRABLE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_FILTERABLE_MSGVER_1'),
			'type' => 'boolean',
		],
		[
			'name' => 'WITH_DESCRIPTION',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_WITH_DESCRIPTION'),
			'type' => 'boolean',
		],
		[
			'name' => 'MULTIPLE_CNT',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_MULTIPLE_CNT'),
			'type' => 'number',
		],
		[
			'name' => 'HINT',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_HINT'),
			'type' => 'text',
		],
		[
			'name' => 'SECTION_PROPERTY',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_SECTION_PROPERTY'),
			'type' => 'boolean',
		],
		[
			'name' => 'SMART_FILTER',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_SMART_FILTER'),
			'type' => 'boolean',
		],
		[
			'name' => 'DISPLAY_TYPE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_DISPLAY_TYPE'),
			'type' => 'list',
			'data' => [
				'items' => $this->getDisplayTypeItems(),
			],
		],
		[
			'name' => 'DISPLAY_EXPANDED',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_DISPLAY_EXPANDED'),
			'type' => 'boolean',
		],
		[
			'name' => 'FILTER_HINT',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_FILTER_HINT'),
			'type' => 'textarea',
		],
		[
			'name' => 'ROW_COUNT',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_ROW_COUNT'),
			'type' => 'number',
		],
		[
			'name' => 'COL_COUNT',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_COL_COUNT'),
			'type' => 'number',
		],
		[
			'name' => 'FILE_TYPE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_FILE_TYPE'),
			'type' => 'text',
		],
		[
			'name' => 'LINK_IBLOCK_ID',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_LINK_IBLOCK_ID'),
			'type' => 'list',
			'data' => [
				'items' => $this->getLinkIblockIdItems(),
			],
		],
		[
			'name' => 'LIST_TYPE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_LIST_TYPE'),
			'type' => 'list',
			'data' => [
				'items' => $this->getListTypeItems(),
			],
		],
	];

	if (Option::get('iblock', 'show_xml_id') === 'Y')
	{
		$fields[] = [
			'name' => 'XML_ID',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_XML_ID'),
			'type' => 'text',
		];
	}

	// add default value
	$html = $this->getPropertyTypeSettings()->getDefaultValueHtml();
	if (isset($html))
	{
		$fields[] = [
			'name' => 'DEFAULT_VALUE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_DEFAULT_VALUE'),
			'type' => 'custom',
			'data' => [
				'html' => $html,
			],
		];
	}
	else
	{
		$fields[] = [
			'name' => 'DEFAULT_VALUE',
			'title' => Loc::getMessage('IBLOCK_ENTITY_EDITOR_PROPERTY_DEFAULT_VALUE'),
			'type' => 'text',
		];
	}

	// add feature fields
	$futureFields = $this->getPropertyFeatureEditorFields();
	if ($futureFields->isHasFields())
	{
		array_push($fields, ... $futureFields->getEntityFields());
	}

	return $this->clearHiddenFields($fields);
}