- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/grid/column/productprovider.php
- Класс: BitrixCatalogGridColumnProductProvider
- Вызов: ProductProvider::prepareColumns
public function prepareColumns(): array
{
$useSkuSelector = $this->isSkuSelectorEnabled();
$result = [];
$result['TYPE'] = [
'type' => GridColumnType::DROPDOWN,
'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TYPE'),
'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_TYPE'),
'necessary' => true,
'editable' => false,
'multiple' => false,
'select' => [
'TYPE',
'BUNDLE',
],
'sort' => 'TYPE',
'align' => 'right',
];
$result['AVAILABLE'] = [
'type' => GridColumnType::CHECKBOX,
'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_AVAILABLE'),
'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_AVAILABLE'),
'necessary' => true,
'editable' => false,
'multiple' => false,
'sort' => 'AVAILABLE',
'align' => 'center',
];
if ($useSkuSelector)
{
$result['PRODUCT'] = [
'type' => GridColumnType::CUSTOM,
'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT'),
'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_PRODUCT'),
'necessary' => true,
'editable' => false,
'multiple' => false,
'select' => [],
'sort' => 'NAME',
'align' => 'left',
'width' => 420, // TODO: enable support
];
}
else
{
$result['PRODUCT'] = [
'type' => GridColumnType::TEXT,
'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT'),
'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_PRODUCT'),
'editable' => new GridColumnEditableConfig('NAME'),
'sort' => 'NAME',
];
}
$result = array_merge(
$result,
$this->getQuantityColumnsDescription(),
$this->getPhysicalColumsDescription(),
$this->getVatColumnsDescription(),
$this->getPurchasingPriceColumnDescription()
);
return $this->createColumns($result);
}