• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/v2/Integration/UI/ViewedProducts/Repository.php
  • Класс: BitrixCatalogv2IntegrationUIViewedProductsRepository
  • Вызов: Repository::getList
public function getList(array $options = []): array
{
	$result = [];

	if (!Loader::includeModule('sale'))
	{
		return $result;
	}

	$limit = $options['limit'] ?? self::DEFAULT_GET_LIST_LIMIT;

	$viewedProductsList = CatalogCatalogViewedProductTable::getList(
		[
			'filter' => [
				'=FUSER_ID' => (int)CSaleBasket::GetBasketUserID(
					!CatalogProductBasket::isNotCrawler()
				),
				'=SITE_ID' => SITE_ID,
			],
			'select' => [
				'ELEMENT_ID',
				'PRODUCT_ID',
			],
			'order' => [
				'DATE_VISIT' => 'DESC',
			],
			'limit' => $limit,
		]
	);

	while ($viewedProduct = $viewedProductsList->fetch())
	{
		$sku =
			Catalogv2IoCServiceContainer::getRepositoryFacade()
				->loadVariation((int)$viewedProduct['PRODUCT_ID'])
		;

		if (!$sku)
		{
			continue;
		}

		$result[] = $sku;
	}

	return $result;
}