Получить заказы пользователя с сортировкой по дате создания
Иногда требуется выгрузить заказы в какую-то внешнюю систему, отличную от 1С, в формате XML или JSON для их дальнейшей обработки. Рассмотрим как это можно сделать на примере Bitrix Framework. Предположим, что внешняя система должна получить данные заказа пользователя по его ID, отправляя на сайт GET-запрос. Создадим на сайте файл, допустим, /local/api/getorders.php. В файле подключим пролог, класс Loader и установим кодировку utf-8:
header('Content-Type: application/json; charset=utf-8');
use Bitrix\Main\Loader;
Далее, обработаем GET-параметр uid, в котором передается ID пользователя на сайте:
$query = $_GET['uid'];
$query = trim(htmlspecialchars(strip_tags($query)));
if (!$query) {
echo json_encode(["error" => "Пустой запрос"]);
}
if (!Loader::includeModule('sale')) {
echo json_encode(["error" => "Модуль sale не подключен"]);
exit;
}
Здесь мы также проверяем доступность модуля sale (Интернет-магазин) и если он отсутствует в системе, то будет выдано сообщение об ошибке. Также, если GET-запрос окажется пустым, то тоже будет возвращаться сообщение об ошибке. Далее, используя метод GetList класса CSaleOrder модуля sale получаем все заказы пользователя по его ID, отсортированные по убыванию даты создания заказа:
Заказы мы получили. Но, чтобы передать их во внешнюю систему, нужно сформировать массив заказов $result только с нужными данными, конвертировать его в JSON и предать:
$result = [];
while ($ar_sales = $db_sales->Fetch()){
$arStatus = CSaleStatus::GetByID($ar_sales["STATUS_ID"], "RU");
$result[] = [
"oid" => $ar_sales["ID"], // ID заказа
"onum" => $ar_sales["ACCOUNT_NUMBER"], // номер заказа
"date" => $ar_sales["DATE_INSERT"], // дата создания заказа
"summ" => $ar_sales["PRICE"], // сумма заказа
"status" => $arStatus["NAME"], // статус заказа
];
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
Обратите внимание на то, что статус заказа мы должны получить по его коду с помощью метода GetByID класса CSaleStatus модуля интернет-магазин. Ниже полный листинг примера:
Иногда требуется выгрузить заказы в какую-то внешнюю систему, отличную от 1С, в формате XML или JSON для их дальнейшей обработки. Рассмотрим как это можно сделать на примере Bitrix Framework. Предположим, что внешняя система должна получить данные заказа пользователя по его ID, отправляя на сайт GET-запрос. Создадим на сайте файл, допустим, /local/api/getorders.php. В файле подключим пролог, класс Loader и установим кодировку utf-8:
header('Content-Type: application/json; charset=utf-8');
use Bitrix\Main\Loader;
Далее, обработаем GET-параметр uid, в котором передается ID пользователя на сайте:
$query = $_GET['uid'];
$query = trim(htmlspecialchars(strip_tags($query)));
if (!$query) {
echo json_encode(["error" => "Пустой запрос"]);
}
if (!Loader::includeModule('sale')) {
echo json_encode(["error" => "Модуль sale не подключен"]);
exit;
}
Здесь мы также проверяем доступность модуля sale (Интернет-магазин) и если он отсутствует в системе, то будет выдано сообщение об ошибке. Также, если GET-запрос окажется пустым, то тоже будет возвращаться сообщение об ошибке. Далее, используя метод GetList класса CSaleOrder модуля sale получаем все заказы пользователя по его ID, отсортированные по убыванию даты создания заказа:
Заказы мы получили. Но, чтобы передать их во внешнюю систему, нужно сформировать массив заказов $result только с нужными данными, конвертировать его в JSON и предать:
$result = [];
while ($ar_sales = $db_sales->Fetch()){
$arStatus = CSaleStatus::GetByID($ar_sales["STATUS_ID"], "RU");
$result[] = [
"oid" => $ar_sales["ID"], // ID заказа
"onum" => $ar_sales["ACCOUNT_NUMBER"], // номер заказа
"date" => $ar_sales["DATE_INSERT"], // дата создания заказа
"summ" => $ar_sales["PRICE"], // сумма заказа
"status" => $arStatus["NAME"], // статус заказа
];
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
Обратите внимание на то, что статус заказа мы должны получить по его коду с помощью метода GetByID класса CSaleStatus модуля интернет-магазин. Ниже полный листинг примера:
Добавление товара или статьи в избранное - это обязательная фишка для интернет-магазина или блога. Однако, в Битрикс по умолчанию нет функционала добавления элемента инфоблока в избранное.
Стандартный компонент "Настраиваемая Яндекс.Карта" не имеет настройки для изменения изображения меток. В качестве изображения метки используется стандартный значок. В этом видео я покажу, как изменить стандартное изображением меток через код компонента
Модуль Bussol: Голосовой поиск – исправление ошибок, область поиска расширяет возможности стандартного модуля поиска
Заказать сайт
Авторизация
Восстановление пароля
Для восстановления пароля на указанный вами адрес электронной почты будет выслан новый пароль
Вы успешно зарегистрированы!
На указанный E-mail отправлено письмо со ссылкой для активации учетной записи.
Пароль изменен
На указанный E-mail отправлено письмо с данными для авторизации
Заказать звонок
Оставьте ваши контакты и мы перезвоним вам в ближайшее время
Ваше сообщение успешно отправлено!
Благодарим Вас за обращение в нашу компанию! Мы получили ваше письмо и обязательно рассмотрим его в ближайшее время. Если ваш вопрос срочный, вы можете позвонить нам прямо сейчас по номеру: +7 953 271-62-24
Мы ценим ваше время и приложим максимум усилий, чтобы оперативно решить поставленную задачу!
С уважением,
Команда «BUSSOL»
Купить в 1 клик
Укажите ваши данные и мы свяжемся с Вами для уточнения заказа