OpenCart. Выгрузка заказов в Excel. Часть 3

OpenCart. Выгрузка заказов в Excel

От автора: приветствую вас, друзья. Итак, мы продолжаем цикл статей, посвященных знакомству с одной из популярнейших CMS для создания интернет-магазинов – OpenCart (Оперкарт). В этой и нескольких следующих статьях мы будем работать непосредственно с кодом CMS и реализуем выгрузку товаров из заказов за выбранный период в Excel. В этой статье мы занимаемся написанием обработчика, формирующего выгрузку в Excel.

Итак, в прошлой статье мы составили ajax-запрос, отправляющий даты выборки на сервер. На сервере мы создали в контроллере ControllerSaleOrder экшен wfm_export, где пока что находится простейший код, распечатывающий полученные данные. Теперь заменим данный код следующим:

Здесь мы подключаем библиотеку PHPExcel, вызываем из модели метод getOrdersForExport, которую добавим ниже, и формируем файл Excel. Напоминаю, по работе с библиотекой PHPExcel вы можете посмотреть этот урок.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Теперь давайте создадим метод getOrdersForExport в модели ModelSaleOrder, которая находится в файле admin\model\sale\order.php.

Осталось протестировать код. Если мы нигде не ошиблись, тогда в результате работы написанного кода мы получим для скачивания файл Excel с выгрузкой проданных товаров.

Собственно, наш скрипт, в целом, — готов. Остается лишь причесать код и оформить его в виде модуля при желании. Ну а мы на этом остановимся. Больше об OpenCart вы можете узнать из наших бесплатных или платных уроков.

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Смотреть

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (8)

  1. michael11

    Спасибо большое. А как добавить данные покупателя?

    • Андрей

      Найти таблицу в БД, в которой хранятся данные покупателя и расширить sql-запрос в модели, чтобы он выбирал вместе с заказом и данные покупателя.

  2. michael11

    Спасибо, получилось. Еще вопрос. Как вывести если несколько разных позиций в одном заказе (сейчас выводит только одну из позиций).

    • Андрей

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

  3. michael11

    Да действительно, сразу не обратил внимание из-за того что выводилось не по порядку. Но это уже можно в Ексель сортировать. Спасибо большое!

Добавить комментарий