Генерации прайс-листа каталога товаров в xls-формате

WS Support
19 Февраля 2019

Задача

Интернет-магазин рассылает заказчикам прайс-листы, в которых содержится название товара, артикул, цена, три фотографии, а также ссылка на детальную страницу на сайте. Формат файла - XLS.

Для этой цели понадобилось создать парсер с возможностью настроек выборки определенных разделов каталога в административном разделе Битрикс.

Решение

Для создания парсера использовались стандартные средства PHP и дополнительная библиотека PhpSpreadsheet. Администратор работает с двумя страницами — экраном настроек и панелью ручного запуска.

Настройка сервера

Парсер управляется элементами инфоблока. С помощью нового инфоблока можно создавать элементы, которые отвечают за генерацию прайс-листов.

При редактировании можно указать категории товаров или определенные бренды, которые будут включены в прайс лист. Таким образом, можно сразу создать несколько разных списков, например, только для юбок.

Парсер запускается в фоновом режиме, что снижает нагрузку на сервер. Можно задать периодичность и время для запуска парсера.

Парсер выбирает элементы, у которых нет файла с прайс-листом, и генерирует их. Созданные файлы сохраняются в соответствующем элементе инфоблока.

В результате работы парсера, каждый прайс-лист сохраняется в инфоблоке. На электронную почту, адрес которой указан в Настройках проекта, приходит уведомление о создании прайс-листов, которое содержит ссылки для скачивания файлов.

Скачанный файл представляет собой документ XLS следующего вида:

Генерация прайс-листов происходит автоматически в фоновом режиме. Можно создавать сразу нескольких прайс-листов с разными данными. Файл можно скачать прямо из почтового уведомления.

Сомневаетесь? Оставьте контакты, подробно разберем ваши вопросы

Нажимая на кнопку «Отправить», вы даете согласие на отправку и обработку своих персональных данных
На данном сайте собираются метаданные пользователя (cookie, данные об IP-адресе и местоположении) для функционирования сайта. Если Вы не хотите чтобы эти данные обрабатывались, то должны покинуть сайт