- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/grid/column/elementpropertyprovider.php
- Класс: BitrixIblockGridColumnElementPropertyProvider
- Вызов: ElementPropertyProvider::loadProperties
protected function loadProperties(): void
{
$this->properties = [];
$iblockId = $this->getIblockId();
if ($iblockId === null)
{
return;
}
$iterator = PropertyTable::getList([
'select' => [
'*',
],
'filter' => [
'=IBLOCK_ID' => $iblockId,
'=ACTIVE' => 'Y',
],
'order' => [
'SORT' => 'ASC',
'NAME' => 'ASC',
'ID' => 'ASC',
],
'cache' => [
'ttl' => 86400,
],
]);
while ($row = $iterator->fetch())
{
$row['ID'] = (int)$row['ID'];
$row['SORT'] = (int)$row['SORT'];
$row['IBLOCK_ID'] = (int)$row['IBLOCK_ID'];
if ($row['USER_TYPE'] !== null)
{
$row['USER_TYPE'] = trim($row['USER_TYPE']);
if ($row['USER_TYPE'] === '')
{
$row['USER_TYPE'] = null;
}
}
$row['USER_TYPE_DESCRIPTION'] = ($row['USER_TYPE'] ? CIBlockProperty::GetUserType($row['USER_TYPE']) : []);
if (!is_array($row['USER_TYPE_SETTINGS_LIST']))
{
$row['USER_TYPE_SETTINGS_LIST'] = [];
}
$row['USER_TYPE_SETTINGS'] = $row['USER_TYPE_SETTINGS_LIST'];
unset($row['USER_TYPE_SETTINGS_LIST']);
$this->properties[$row['ID']] = $row;
}
unset($row, $iterator);
}