Добавить товар в список просмотренных

Добавить товар в список просмотренных

1413
19.04.2017
13.05.2017

В шаблонах по умолчанию настроен механизм добавления товара в список просмотренных, которые потом можно вывести или с помощью 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, или еще куда.



Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

Возврат к списку