- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/controller/product/base.php
- Класс: BitrixCatalogControllerProductBase
- Вызов: Base::listAction
public function listAction(PageNavigation $pageNavigation, array $select = [], array $filter = [], array $order = []): ?Page
{
/** @var BitrixCatalogRestViewProduct $view */
$view = $this->getViewManager()->getView($this);
$r = $view->isAllowedProductTypeByIBlockId(static::TYPE, $filter['IBLOCK_ID']);
if (!$r->isSuccess())
{
$this->addErrors($r->getErrors());
return null;
}
$list = $this->getAllowedProductTypes();
if (isset($filter['TYPE']))
{
$filter['TYPE'] = in_array($filter['TYPE'], $list, true) ? $filter['TYPE'] : $list;
}
else
{
$filter['TYPE'] = $list;
}
return parent::listAction($pageNavigation, $select, $filter, $order);
}