Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Знакомство с Joomla

Joomla — система управления сайтом (CMS). Сразу после установки в ней есть статьи, меню, пользователи и права доступа, а управляют всем этим через панель в браузере. Чего не хватает, добавляют расширениями — и этот курс о том, как писать их самому.

Версия

Курс написан для Joomla 5. В Joomla 4 расширения устроены так же: классы лежат в пространствах имён, а каждое расширение подключается файлом services/provider.php. Отличия от четвёртой версии отмечены в тексте. Расширения в старом стиле Joomla 3 здесь не рассматриваются.

Что понадобится

ЧтоВерсия
PHP8.1 или новее
MySQL8.0 или новее (подойдёт и MariaDB 10.4+)
Веб-серверApache или Nginx — любая локальная сборка вроде OSPanel, XAMPP, Laragon

Установка

  1. Скачайте архив Joomla 5 с сайта joomla.org.
  2. Распакуйте его в папку сайта локального сервера, например joomla.test.
  3. Создайте пустую базу данных, например joomla.
  4. Откройте сайт в браузере — запустится установщик.

Установщик спросит название сайта, имя и пароль администратора и данные базы. В конце он сам удалит папку installation и запишет настройки в файл configuration.php.

Две части сайта

После установки у сайта два входа:

АдресЧто это
http://joomla.test/Сайт, который видят посетители
http://joomla.test/administratorПанель управления

Войдите в панель с именем и паролем, заданными при установке. Слева вы увидите меню: «Содержимое», «Меню», «Компоненты», «Пользователи», «Система». На эти разделы курс ссылается постоянно.

Режим отладки

При разработке ошибки должны быть видны. Откройте «Система → Общие настройки»:

  • на вкладке «Система» включите «Отладку системы»;
  • на вкладке «Сервер» поставьте «Сообщения об ошибках» в значение «Максимум».

Сохраните настройки. Внизу каждой страницы появится панель отладки: запросы к базе, время работы, загруженные языковые файлы. Ошибка PHP теперь показывается с файлом и номером строки, а не белой страницей.

Что будем строить

Через весь курс идёт один пример — набор расширений «Hello»:

РасширениеЧто делает
Модуль mod_helloБлок с приветствием и списком последних статей
Плагин plg_content_helloПодставляет текущий год в текст статей
Компонент com_helloРаздел с записями блога: список, страница записи, редактирование в панели

Частая ошибка

Режим отладки включают на рабочем сайте «на минутку» и забывают. Панель отладки показывает посетителям запросы к базе и пути на сервере. Отлаживайте на локальной копии, а на рабочем сайте держите отладку выключенной.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.