Меню

Получить все товары из всех заказов пользователя. История купленных товаров.

RSS
Получить все товары из всех заказов пользователя. История купленных товаров.
 
Получить все товары из всех заказов пользователя. История купленных товаров.

Задача: нужно создать раздел, в персональном разделе пользователя, с историей всех купленных товаров. Не путать с историей заказов, нужен именно список всех купленных товаров- выведенный с помощью компонента catalog.section. Что бы пользователь мог добавить любой товар в новый заказа.
 
А как получить товары только из одного заказа? Из самого последнего хочу вывести товары.
 
Цитата
Василий написал:
А как получить товары только из одного заказа? Из самого последнего хочу вывести товары.

В целом точно также. В параметре сортировки указать по дате создания, что бы самый свежий (последний) был первым
Код
'order' = [ 'DATE' => 'DESC'],

А дальше дернуть только его из массива.
Изменено: Михаил Базаров - 30.06.2022 21:40:31
 
Добрый день !
А не подскажите как мне получить ID товаров из заказа по ID заказа , и если товаров больше чем 1 ,
то через запятую их вывести !
Заранее спасибо !
И хотел бы попросить небольшой хотя бы пример кода , так как не очень разбираюсь)
Изменено: Михаил Базаров - 01.12.2023 15:03:00
 
Как-то так. Сделал не проверяя, там напишите - если что то пойдет не так.
Код
$dbBasketItems = CSaleBasket::GetList(
        false,
        array(
            'ORDER_ID' => ID НУЖНОГО ЗАКАЗА
        ),
        false,
        false,
        array(
            'PRODUCT_ID'
        )
);
while ($arItems = $dbBasketItems->Fetch()) {
    $orderedItems[] = $arItems['PRODUCT_ID'];
}

// ВЫВОДИМ
if(count($orderedItems) > 1) {
    // Если массив больше одного элемента
    // Выводим ID через запятую
    echo implode(', ',$orderedItems);
}
Изменено: Михаил Базаров - 11.11.2022 23:25:38
 
Михаил, наткнулся на этот пост, гугля немного другую задачу. а задача такая: мигрируем магазин с БУС на Б24 и в каких-то старых заказах у покупателей не заполнены обязательные поля. Но это не таблица users - это какая-то другая, смежная. может подскажете - какая?))
 
Цитата
Pyro338 написал:
Михаил, наткнулся на этот пост, гугля немного другую задачу. а задача такая: мигрируем магазин с БУС на Б24 и в каких-то старых заказах у покупателей не заполнены обязательные поля. Но это не таблица users - это какая-то другая, смежная. может подскажете - какая?))

Должны бы в b_sale_order_props_value там значения всех свойств, которые заполнили покупатели.
Каждый заказ имеет уникальный идентификатор, который связывает значения свойств с соответствующим заказом.
 
Запросы в цикле - плохая идея.
 
Получить ID купленных товаров одним запросом:
Код
\Bitrix\Main\Loader::includeModule("sale");

$arData = \Bitrix\Sale\Order::getList([
    'select' => ['ID', 'PRODUCT_ID'],
    'filter' => ["USER_ID" => $USER->GetID()],
    'runtime' => [
        new \Bitrix\Main\Entity\ReferenceField(
            'BASKET',
            '\Bitrix\Sale\Internals\Basket',
            ["=this.ID" => "ref.ORDER_ID"],
            ["join_type" => "left"]
        ),
        new \Bitrix\Main\Entity\ExpressionField(
            'PRODUCT_ID',
            '%s',
            ['BASKET.PRODUCT_ID']
        ),
    ],
    'cache' => ['ttl' => 60, 'cache_joins' => true],
    'order' => ['ID' => 'DESC'],
    //'limit' => 100,
])->fetchAll();

$arIds = (!empty($arData) ? array_unique(array_column($arData, 'PRODUCT_ID')) : []);
Но стоит помнить, что это могут быть и ID торговых предложений.
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Почтовое событие на создание нового элемента инфоблока, через API

Иногда при разработке сайта требуется реализовать функционал добавления элементов инфоблока простыми пользователям.Будет...

Помечаем новинки лейблом в каталоге битрикс

Достаточно часто, при разработке каталога товаров или интернет магазина на системе управления Битрикс, встает задача как...

Подключение jquery из ядра битрикс и объединение своих скриптов в один файл

Если используете большое количество js скриптов на сайте. Например: фансибокс, всяческие галереи и прочее- то таких внеш...

Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа

В этой заметке постараюсь описать процесс реализации индивидуальных цен, для пользователей. При этом, индивидуальные цен...

Старые шаблоны битрикс для простой верстки

Новые версии типового интернет-магазина, который идет в комплекте с Битрикс (от 12 версии и выше), достаточно технологич...

Как работает система сертификации партнеров 1С-Битрикс, уровни партнеров и специалистов

Сертификация от «1С-Битрикс» – это объективная оценка знаний и практических навыков разработки проектов на платформе от ...

Уникальная СЕО информация для каждого торгового предложения в каталоге 1С-Битрикс

Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ...

Правильное подключение стилей и скриптов в Битрикс

Есть несколько способов подключения файлов стилей и скриптов, при верстке шаблонов в системе управления 1С-Битрикс. Если...

Базовая защита "Битрикс виртуальная машина" от DDoS атак.

Данный способ защиты не панацея, и скорее всего не спасет от профессиональной DDoS атаки, когда ваш сервер на CentOS под...