// подготавливаем фильтр заказов по действующему пользователю
$arFilterOrder = array(
"USER_ID" => $USER->GetID(),
);
// получаем список заказов
$dbSales = CSaleOrder::GetList(Array("ID" => "ASC"), $arFilterOrder, false, false);
while ($arSales = $dbSales->Fetch())
{
$arOrder[] = $arSales["ID"];
}
// получаем элементы корзины каждого заказа
$dbBasket = CSaleBasket::GetList(
array("NAME" => "ASC"),
array("ORDER_ID" => $arOrder),
false,
false,
array("PRODUCT_ID", "DATE_INSERT")
);
$arElements = Array();
while ($arBasket = $dbBasket->Fetch())
{
$arBasketTmp = Array();
$arElements["PRODUCT_ID"][] = $arBasket["PRODUCT_ID"];
$arElements["DATE_INSERT"][] = $arBasket["DATE_INSERT"];
}
global $arrFilter;
$arrFilter = array("ID" => array_unique($arElements["PRODUCT_ID"]));
Ниже выводим нужный нам инфоблок компонентом catalog.section, который будет отфильтровывать товары по фильтру $arrFilter
$arFilterOrder = array(
"USER_ID" => $USER->GetID(),
);
// получаем список заказов
$dbSales = CSaleOrder::GetList(Array("ID" => "ASC"), $arFilterOrder, false, false);
while ($arSales = $dbSales->Fetch())
{
$arOrder[] = $arSales["ID"];
}
// получаем элементы корзины каждого заказа
$dbBasket = CSaleBasket::GetList(
array("NAME" => "ASC"),
array("ORDER_ID" => $arOrder),
false,
false,
array("PRODUCT_ID", "DATE_INSERT")
);
$arElements = Array();
while ($arBasket = $dbBasket->Fetch())
{
$arBasketTmp = Array();
$arElements["PRODUCT_ID"][] = $arBasket["PRODUCT_ID"];
$arElements["DATE_INSERT"][] = $arBasket["DATE_INSERT"];
}
global $arrFilter;
$arrFilter = array("ID" => array_unique($arElements["PRODUCT_ID"]));
Ниже выводим нужный нам инфоблок компонентом catalog.section, который будет отфильтровывать товары по фильтру $arrFilter