- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/component/selector/element.php
- Класс: BitrixIblockComponentSelectorElement
- Вызов: Element::getSectionFilterDefinition
protected function getSectionFilterDefinition()
{
$result = [];
if ($this->getStorageItem(self::STORAGE_ENTITY_IBLOCK, 'IBLOCK_SECTIONS') == 'Y')
{
$list = [];
$iterator = CIBlockSection::GetList(
['LEFT_MARGIN' => 'ASC'],
[
'IBLOCK_ID' => $this->getStorageItem(self::STORAGE_ENTITY_IBLOCK, 'IBLOCK_ID'),
'ACTIVE' => 'Y',
'GLOBAL_ACTIVE' => 'Y',
'CHECK_PERMISSIONS' => 'Y',
'MIN_PERMISSION' => 'R'
],
false,
['ID', 'NAME', 'IBLOCK_ID', 'DEPTH_LEVEL', 'LEFT_MARGIN']
);
while ($row = $iterator->Fetch())
{
$list[$row['ID']] = str_repeat('.', $row['DEPTH_LEVEL'] - 1).$row['NAME'];
}
unset($row, $iterator);
$result = [
'SECTION_ID' => [
'id' => 'SECTION_ID',
'name' => Loc::getMessage('IBLOCK_SELECTOR_ELEMENT_FILTER_FIELD_SECTION_ID'),
'type' => 'list',
'items' => $list,
'operators' => [
'default' => '='
],
'default' => true
],
'INCLUDE_SUBSECTIONS' => [
'id' => 'INCLUDE_SUBSECTIONS',
'name' => Loc::getMessage('IBLOCK_SELECTOR_ELEMENT_FILTER_FIELD_INCLUDE_SUBSECTIONS'),
'type' => 'checkbox',
'operators' => [
'default' => ''
],
'default' => true
]
];
unset($list);
}
return $result;
}