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

	if (!$this->isSkuSelectorEnabled())
	{
		$result['NAME'] = [
			'type' => GridColumnType::TEXT,
			'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_NAME'),
			'necessary' => true,
			'editable' => true,
			'multiple' => false,
			'sort' => 'NAME',
		];
		$result['PREVIEW_PICTURE'] = [
			'type' => GridColumnType::FILE,
			'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_PREVIEW_PICTURE'),
			'sort' => 'HAS_PREVIEW_PICTURE',
			'necessary' => false,
			'editable' => true,
			'multiple' => false,
			'prevent_default' => true, // TODO: what is this
		];
		$result['DETAIL_PICTURE'] = [
			'type' => GridColumnType::FILE,
			'name' => Loc::getMessage('IBLOCK_ELEMENT_COLUMN_PROVIDER_FIELD_DETAIL_PICTURE'),
			'sort' => 'HAS_DETAIL_PICTURE',
			'necessary' => false,
			'editable' => true,
			'multiple' => false,
			'prevent_default' => true, // TODO: what is this
		];
	}

	$result = array_merge(
		$this->getCommonColumns(),
		$this->getElementFieldsColumns(),
		$this->getSpecificElementColumns(),
		$result,
		$this->getSectionFields(),
	);

	return $this->createColumns($result);
}