Как создать пользовательский репорт в OpenCart

Как создать пользовательский репорт в OpenCart

От автора: неважно какой у вас бизнес, всегда важно иметь под рукой инструменты по анализу статистики произошедшего за день. С помощью таких инструментов можно корректировать стратегию развития бизнеса, если что-то пошло не так. Сегодня мы поговорим о репортах в OpenCart.

В фреймворке много полезных стандартных репортов, разделенных на основные категории – Продажи, Товары, Покупатели и Маркетинг – в каждой категории есть множество опций по просмотру информации в различной форме.

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

Я предполагаю, что вы работаете в последней версии OpenCart и знакомы с процессом модульной разработки, так как основной упор мы сделаем именно на генерацию репортов.

Настройка back-end файлов

Для работы нам потребуются файлы:

admin/controller/report/product_custom.php: Файл основного контроллера, используется для загрузки данных модели и создания переменных.

admin/model/report/product_custom.php: Файл модели, который используется для создания SQL запросов в базу данных и вытягивания данных.

admin/view/template/report/product_custom.tpl: Файл представления, в нем хранится вся логика представления.

admin/language/english/report/product_custom.php: Файл языка.

Контроллер

Создайте файл admin/controller/report/product_custom.php и скопируйте в него следующий код:

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

А в остальном это обычный контроллер – в методе index загружается подходящий язык и модель, а затем задаются переменные. В конце мы делаем файл product_custom.tpl нашим основным файлом шаблона, через который будет выводить репорт.

Модель

Давайте создадим файл модели admin/model/report/product_custom.php.

В нашей модели хранится два метода – getCustomProducts вытягивает подходящие записи из базы данных, а getTotalCustomProducts возвращает общее количество записей, что потом используется в компоненте постраничной навигации.

Представление

Файл представления должен лежать в admin/view/template/report/product_custom.tpl.

Товары будут показываться в форме красивой таблицы. Разметка полностью адаптивна, так как в ядре у нас bootstrap!

Файл языка

Последнее, создадим файл языка admin/language/english/report/product_custom.php.

По файлам мы закончили.

Открываем разрешение на публикацию пользовательских репортов

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

Зайдите в System > Users > Users Group и перейдите на страницу редактирования группы Administrator. Под выпадающим боксом Access Permission поставьте галочку report/product_custom и сохраните изменения в группе.

Теперь вы можете получить доступ к ресурсу.

Как получить доступ к ресурсу со стороны back-end’а

Нам нужно изменить файл admin/view/template/common/menu.tpl и добавить в него ссылку на наш пользовательский репорт. Для простоты мы отредактируем его напрямую, но вы можете сделать это через расширение OCMOD. Плагин позволяет менять файлы ядра при помощи XML системы поиска и замены.

Откройте файл admin/view/template/common/menu.tpl и перейдите к следующей строке.

Теперь вы увидите, что в панели Reports > Products появилась наша ссылка. Кликните на нее, и вам откроется наш репорт!

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

Заключение

Сегодня мы узнали, как создавать пользовательские репорты в OpenCart. Мы прошли по всему процессу, от создания файлов и до того, как получить доступ со стороны back-end’а.

Автор: Sajal Soni

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Метки:

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

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