- Модуль: 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);
}