Комментарии

Новая функция: отчет о подписчиках в административной части компонента
( 0 Голосов )

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

Обратимся к практическому примеру добавления новой функции в рассматриваемый здесь компонент. В данном примере добавляется новый отчет обо всех подписчиках на каждую подписку. Этот отчет будет составлен в формате файла со значениями, разделенными запятыми (CSV), пригодном для загрузки в браузер. Все подписки и подписчики на каждую из них будут представлены списком в данном отчете, а сам отчет будет доступен в качестве дополнительной функции на экране Subscription Manager.

Для того чтобы сделать этот отчет полезным, воспользуемся фильтрами компонента Subscription Manager при подготовке отчета. Иными словами, если в диспетчере подписок установлены какие-нибудь фильтры, ими можно воспользоваться для просеивания результатов составления отчета. Ниже перечислены изменения, которые требуется внести в рассматриваемый здесь компонент, чтобы реализовать эту новую функцию. Пути ко всем файлам указаны относительно папки administrator/components/com_joomprosub, поскольку речь идет об административной части данного компонента.

  • Добавить на панели инструментов новую кнопку для загрузки файла отчета (класс JoomproSubsViewSubmanager из файла views/submanager/view.html.php).
  • Дополнить контроллер новым методом для выполнения новой задачи (класс JoomproSubsControllerSubManager из файла controllers/submanager.php).
  • Добавить новую модель для подготовки данных, предназначенных для отчета (класс JoomproSubsModelCSVReport из файла models/csvreport.php).
  • Добавить новый метод exportReport (), используемый для вывода отчета вместо компоновки (класс JoomproSubsControllerSubManager).

Для реализации новой функции отдельная компоновка не требуется. Вместо нее будет использован метод exportReport () из класса JoomproSubsControllerSubManager для создания файла формата CSV и отправки его браузеру.


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости