• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/selector/entity.php
  • Класс: BitrixIblockComponentSelectorEntity
  • Вызов: Entity::initGridColumns
protected function initGridColumns()
{
	$visibleColumns = [];
	$visibleColumnsMap = [];

	$defaultList = true;
	$userColumnsIndex = [];
	$userColumns = $this->getUserGridColumnIds();
	if (!empty($userColumns))
	{
		$defaultList = false;
		$userColumnsIndex = array_fill_keys($userColumns, true);
	}

	$columns = $this->getGridColumnsDescription();
	foreach (array_keys($columns) as $index)
	{
		if (
			$defaultList
			|| isset($userColumnsIndex[$index])
		)
		{
			$visibleColumnsMap[$index] = true;
			$visibleColumns[$index] = $columns[$index];
		}
	}
	unset($index);

	unset($userColumns, $userColumnsIndex, $defaultList);

	$this->fillStorageNode(
		self::STORAGE_GRID,
		[
			'COLUMNS' => $columns,
			'VISIBLE_COLUMNS' => $visibleColumns,
			'VISIBLE_COLUMNS_MAP' => $visibleColumnsMap
		]
	);

	unset($visibleColumnsMap, $visibleColumns, $columns);
}