В шаблонах по умолчанию настроен механизм добавления товара в список просмотренных, которые потом можно вывести или с помощью API, или с помощью специального компонента. 

Но что делать, если вы пишете свой компонент? В помощь придет специальный метод

Итак, для добавления товара в список просмотренных, в файле component_epilog.php добавляем всего 2 строки:

use \Bitrix\Catalog\CatalogViewedProductTable as CatalogViewedProductTable;
CatalogViewedProductTable::refresh($arResult['ID'], CSaleBasket::GetBasketUserID());

Все! Теперь или с помощью компонента bitrix:catalog.viewed.products можно вывести пользователю список товаров, которые он просматривал.

Либо можно воспользоваться API:

$basketUserId = (int)CSaleBasket::GetBasketUserID(false);
			if ($basketUserId > 0){
				$viewedIterator = Catalog\CatalogViewedProductTable::getList(array(
					'select' => array('PRODUCT_ID', 'ELEMENT_ID'),
					'filter' => array('=FUSER_ID' => $basketUserId, '=SITE_ID' => SITE_ID),
					'order' => array('DATE_VISIT' => 'DESC'),
					'limit' => 10
				));

				while ($arFields = $viewedIterator->fetch()){
					$arViewed[] = $arFields['ELEMENT_ID'];
				}
			}

Результатом будет массив из идентификаторов со списком товаров, который можно уже передавать дальше - или в компонент catalog.section, или еще куда.

Количество показов: 5197
19.04.2017


Реклама: ООО «Т-Партнерс». ИНН 7743369908. ERID: CQH36pWzJqCRJ4UXWBbyyXhEyTx6pb9UMntWeubyAMJVzF

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.