• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/grid/column/elementprovider.php
  • Класс: BitrixIblockGridColumnElementProvider
  • Вызов: ElementProvider::getCommonColumns
protected function getCommonColumns(): array
{
	$result = [];

	$result['ACTIVE'] = [
		'type' => GridColumnType::CHECKBOX,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_ACTIVE'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_ACTIVE'),
		'necessary' => true,
		'editable' => true,
		'multiple' => false,
		'sort' => 'ACTIVE',
		'align' => 'center',
	];
	$result['SORT'] = [
		'type' => GridColumnType::INT,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_SORT'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_SORT'),
		'necessary' => false,
		'editable' => true,
		'multiple' => false,
		'sort' => 'SORT',
		'align' => 'right',
	];
	$result['CODE'] = [
		'type' => GridColumnType::TEXT,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_CODE'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_CODE'),
		'necessary' => false,
		'editable' => true,
		'multiple' => false,
		'sort' => 'CODE',
	];
	$result['XML_ID'] = [
		'type' => GridColumnType::TEXT,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_XML_ID'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_XML_ID'),
		'necessary' => false,
		'editable' => true,
		'multiple' => false,
		'sort' => 'XML_ID',
	];
	$result['TIMESTAMP_X'] = [
		'type' => GridColumnType::DATE,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TIMESTAMP_X'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_TIMESTAMP_X'),
		'necessary' => false,
		'editable' => false,
		'multiple' => false,
		'sort' => 'TIMESTAMP_X',
	];
	$result['MODIFIED_BY'] = [
		'type' => GridColumnType::CUSTOM,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_MODIFIED_BY'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_MODIFIED_BY'),
		'necessary' => false,
		'editable' => false,
		'multiple' => false,
		'sort' => 'MODIFIED_BY',
		'safeMode' => true,
	];
	$result['DATE_CREATE'] = [
		'type' => GridColumnType::DATE,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_DATE_CREATE'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_DATE_CREATE'),
		'necessary' => false,
		'editable' => false,
		'multiple' => false,
		'sort' => 'DATE_CREATE', // TODO: check - created
	];
	$result['CREATED_BY'] = [
		'type' => GridColumnType::CUSTOM,
		'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_CREATED_BY'),
		'title' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_TITLE_CREATED_BY'),
		'necessary' => false,
		'editable' => false,
		'multiple' => false,
		'sort' => 'CREATED_BY',
		'safeMode' => true,
	];
	$select = [
		'ID',
	];
	if ($this->isSkuSelectorEnabled())
	{
		$select[] = 'NAME';
	}
	$result['ID'] = [
		'type' => GridColumnType::CUSTOM,
		'name' => 'ID',
		'necessary' => true,
		'editable' => false,
		'multiple' => false,
		'select' => $select,
		'sort' => 'ID',
	];
	unset($select);

	return $result;
}