- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/grid/row/elementrowassembler.php
- Класс: BitrixIblockGridRowElementRowAssembler
- Вызов: ElementRowAssembler::getPropertiesAssemblers
private function getPropertiesAssemblers(): array
{
$result = [];
$customColumnIds = [];
foreach ($this->columns as $column)
{
$editable = $column->getEditable();
if (isset($editable) && $editable->getType() === Types::CUSTOM)
{
$customColumnIds[] = $column->getId();
}
}
$result[] = new StringFieldAssembler(
$this->settings->getIblockId(),
[]
);
$result[] = new NumberFieldAssembler(
$this->settings->getIblockId(),
[]
);
$result[] = new ListFieldAssembler(
$this->settings->getIblockId()
);
$result[] = new ElementFieldAssembler(
$this->settings->getIblockId(),
$customColumnIds
);
$result[] = new SectionFieldAssembler(
$this->settings->getIblockId(),
$customColumnIds
);
$result[] = new UserTypePropertyFieldAssembler(
$this->settings->getIblockId(),
$customColumnIds
);
$result[] = new FileFieldAssembler(
$this->settings->getIblockId()
);
$processedColumnsIds = [];
foreach ($result as $assembler)
{
/**
* @var FieldAssembler $assembler
*/
array_push($processedColumnsIds, ...$assembler->getColumnIds());
}
$result[] = new MultipleFieldAssembler(
$this->settings->getIblockId(),
$processedColumnsIds
);
return $result;
}