Опишу как в Битриксе можно сделать вывод списка товаров в одном заказе, во всех заказах и в заказах за определенный период.
Можно разбить на несколько этапов.
1. Получить список заказов. Если нужен только один заказ, этот этап пропускаем.
CModule::IncludeModule("sale"); // подключение модуля продаж
$arFilter = array();// При необходимости использовать параметры фильтрации
$db_sales = CSaleOrder::GetList(array(), $arFilter);
while ($ar_sales = $db_sales->Fetch()) {
$arr[] = $ar_sales[ID]; // массив со списком заказов
}
2. Получить список товаров определенного заказа $order_id.
$dbBasketItems = CSaleBasket::GetList(array(), array("ORDER_ID" => $order_id), false, false, array());
while ($arItems = $dbBasketItems->Fetch()) {
$macciw[] = $arItems[PRODUCT_ID];
}
3. Получить список товаров всех заказов
$arFilter = array();// При необходимости использовать параметры фильтрации
$db_sales = CSaleOrder::GetList(array(), $arFilter);
while ($ar_sales = $db_sales->Fetch()) {
# получить список товаров определенного заказа
$dbBasketItems = CSaleBasket::GetList(array(), array("ORDER_ID" => $ar_sales[ID]), false, false, array());
while ($arItems = $dbBasketItems->Fetch()) {
$macciw[] = $arItems[PRODUCT_ID];
}
}
$mass = array_unique($macciw);// уникальные id товаров в заказах
4. Получить список товаров, заказанных в этом месяце
$arFilter = Array(">=DATE_INSERT" => date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), mktime(0, 0, 0, date("n"), 1, date("Y"))));
И рабочий пример во вложении.
Для использования просто кинуть в корень сайта с Битриксом.
Будет выведен массив с id товаров.
Вложения:Файл | Описание | Размер файла: |
---|
test.zip | | 0.7 Кб |