• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/controller/section.php
  • Класс: BitrixCatalogControllerSection
  • Вызов: Section::listAction
public function listAction(PageNavigation $pageNavigation, array $select = [], array $filter = [], array $order = []): ?Page
{
	$r = $this->checkPermissionIBlockSectionList($filter['IBLOCK_ID']);
	if($r->isSuccess())
	{
		$result = [];

		$select = empty($select)? ['*']:$select;
		$order = empty($order)? ['ID'=>'ASC']:$order;

		if (isset($filter['IBLOCK_SECTION_ID']))
		{
			$filter['SECTION_ID'] = $filter['IBLOCK_SECTION_ID'];
			unset($filter['IBLOCK_SECTION_ID']);
		}

		$r = CIBlockSection::GetList($order, $filter, false, $select, self::getNavData($pageNavigation->getOffset()));
		while ($l = $r->fetch())
			$result[] = $l;

		return new Page('SECTIONS', $result, function() use ($filter)
		{
			return CIBlockSection::GetCount($filter);
		});
	}
	else
	{
		$this->addErrors($r->getErrors());
		return null;
	}

}