Знакомство с Joomla
Joomla — система управления сайтом (CMS). Сразу после установки в ней есть статьи, меню, пользователи и права доступа, а управляют всем этим через панель в браузере. Чего не хватает, добавляют расширениями — и этот курс о том, как писать их самому.
Версия
Курс написан для Joomla 5. В Joomla 4 расширения устроены так же: классы лежат в пространствах имён, а каждое расширение подключается файлом services/provider.php. Отличия от четвёртой версии отмечены в тексте. Расширения в старом стиле Joomla 3 здесь не рассматриваются.
Что понадобится
| Что | Версия |
|---|---|
| PHP | 8.1 или новее |
| MySQL | 8.0 или новее (подойдёт и MariaDB 10.4+) |
| Веб-сервер | Apache или Nginx — любая локальная сборка вроде OSPanel, XAMPP, Laragon |
Установка
- Скачайте архив Joomla 5 с сайта
joomla.org. - Распакуйте его в папку сайта локального сервера, например
joomla.test. - Создайте пустую базу данных, например
joomla. - Откройте сайт в браузере — запустится установщик.
Установщик спросит название сайта, имя и пароль администратора и данные базы. В конце он сам удалит папку installation и запишет настройки в файл configuration.php.
Две части сайта
После установки у сайта два входа:
| Адрес | Что это |
|---|---|
http://joomla.test/ | Сайт, который видят посетители |
http://joomla.test/administrator | Панель управления |
Войдите в панель с именем и паролем, заданными при установке. Слева вы увидите меню: «Содержимое», «Меню», «Компоненты», «Пользователи», «Система». На эти разделы курс ссылается постоянно.
Режим отладки
При разработке ошибки должны быть видны. Откройте «Система → Общие настройки»:
- на вкладке «Система» включите «Отладку системы»;
- на вкладке «Сервер» поставьте «Сообщения об ошибках» в значение «Максимум».
Сохраните настройки. Внизу каждой страницы появится панель отладки: запросы к базе, время работы, загруженные языковые файлы. Ошибка PHP теперь показывается с файлом и номером строки, а не белой страницей.
Что будем строить
Через весь курс идёт один пример — набор расширений «Hello»:
| Расширение | Что делает |
|---|---|
Модуль mod_hello | Блок с приветствием и списком последних статей |
Плагин plg_content_hello | Подставляет текущий год в текст статей |
Компонент com_hello | Раздел с записями блога: список, страница записи, редактирование в панели |
Частая ошибка
Режим отладки включают на рабочем сайте «на минутку» и забывают. Панель отладки показывает посетителям запросы к базе и пути на сервере. Отлаживайте на локальной копии, а на рабочем сайте держите отладку выключенной.