- Введение в MVC Joomla 4
- Постановка задачи
- Стартовые таблицы
- Скриншот
- MVC шаблон компонента Joomla 4
- Анатомия MVC Joomla 4
Введение в MVC Joomla 4.
Компоненты Joomla следуют подходу Model, View, Controller, или сокращенно MVC.
- Модель (Model) должна обрабатывать загрузку и хранение данных.
- Представление (View) должно обрабатывать отображение данных.
- Контроллер (Controller) должен управлять программным потоком, взаимодействием между моделью компонента и кодом представления.
Если вам нужно создать свой собственный компонент, то можно использовать два подхода к обучению:
- Создавать его шаг за шагом: следуя простому руководству, описывающему каждый этап.
- Разобрать его файл за файлом: разобрать работающий компонент на части, чтобы узнать, как работает каждая часть.
В этом руководстве используется последний подход. Компонент, используемый в этом примере, называется com_countrybase
. Он используется для управления и отображения некоторых базовых данных о странах мира. Он полезен сам по себе и может быть использован в качестве основы для создания чего-то более сложного.
Постановка задачи.
Каким бы ни был проект, следует начать с описания целей и, возможно, спросить себя, можно ли достичь этих целей с помощью основных компонентов Joomla или доступных расширений. Для com_countrybase
необходима таблица данных по странам, а также страницы ввода и вывода. И, возможно, модуль для отображения ежедневного денежного курса. И даже плагин, вызываемый командой cli
для обновления данных о валюте через регулярные промежутки времени. В этом примере рассматривается только компонент.
Компоненту нужна таблица базы данных для хранения данных о стране и таблица для хранения данных о валюте. Для каждой из них потребуется представление списка и представление редактирования. Это не то, чего можно достичь с помощью основных компонентов Joomla, так что это явно случай для пользовательского компонента.
Стартовые таблицы.
Существует множество данных о странах, доступных из всевозможных источников во всевозможных форматах. Поскольку в мире насчитывается не менее 250 стран, вводить данные по каждой стране по очереди с помощью формы ввода данных было бы довольно утомительно. Поэтому стартовые таблицы были подготовлены путем сбора данных из нескольких источников, объединения их в электронной таблице и последующего экспорта sql-запросов для создания таблиц.
Данные основаны на кодах стран ISO 3166, но некоторые очень известные страны не включены, например, Англия, Шотландия и Уэльс. Вам не нужно беспокоиться об этом. Таблицы доступны в компоненте com_countrybase. Код создания таблиц в компоненте описан ниже.
Файлы для компонента com_countrybase доступны на Github:
https://github.com/ceford/j4xdemos-com-countrybase/archive/refs/heads/master.zip
Скачайте и установите компонент, чтобы увидеть его работу в меню администратора. Создайте пункт меню, если хотите увидеть его работу в шаблоне сайта. Кроме того, распакуйте zip-файл в файловое пространство проекта, а не в дерево тестового сайта. После этого можно изучить структуру файлов компонента и их содержимое с помощью любимой IDE или инструмента редактирования текста.
Скриншот.
Этот список стран в списке администратора состоит из пяти пунктов для уменьшения размера изображения. Joomla по умолчанию отображает 20 элементов.
MVC шаблон компонента Joomla 4.
Чтобы помочь начать работу над собственным компонентом, на Github доступен шаблон компонента:
https://github.com/ceford/j4xdemos-com-bpsrc/archive/refs/heads/master.zip
Скачайте и распакуйте его в файловое пространство вашего проекта, а не в дерево тестового сайта. После загрузки внесите все изменения, указанные в README, и все готово к работе.
Анатомия MVC Joomla 4.
- «Joomla 4 MVC Anatomy: Начало работы над созданием компонента»
- «Joomla 4 MVC Anatomy: Файловая структура компонента»
- «Joomla 4 MVC Anatomy: Файл манифеста компонента (Manifest File)»
- «Joomla 4 MVC Anatomy: Файлы сайта компонента»
- «Joomla 4 MVC Anatomy: Загрузочные файлы админки»
- «Joomla 4 MVC Anatomy: Файлы для правки админки»
Перевод с английского официальной документации CMS Joomla 4:
https://docs.joomla.org/J4.x:MVC_Anatomy:_Getting_Started
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)