Основные понятия
Прежде чем писать код, полезно понять, из каких частей Joomla собирает страницу. Эти слова встречаются в панели управления и в каждом следующем уроке.
Статьи и категории
Статья (в русской панели — «материал») — это страница с текстом: новость, запись блога, страница «О нас». Каждая статья лежит в категории, категории могут быть вложенными.
Создайте статью для опытов: «Содержимое → Материалы → Создать», заголовок «Первая статья», любой текст, кнопка «Сохранить и закрыть». Статьи хранятся в таблице #__content, категории — в #__categories.
Меню
Сама по себе статья на сайте не видна: на неё нужен пункт меню. Пункт меню в Joomla — это не просто ссылка, а указание, какую страницу какого компонента показать.
Откройте «Меню → Main Menu → Создать», в поле «Тип пункта меню» выберите «Материалы → Материал» и укажите свою статью. После сохранения в меню сайта появится ссылка, а у страницы — понятный адрес.
Компонент
Компонент — расширение, которое выводит основное содержимое страницы. На одной странице работает ровно один компонент. Какой именно, видно из адреса:
index.php?option=com_content&view=article&id=1| Параметр | Что означает |
|---|---|
option | Компонент: com_content — статьи |
view | Какая страница компонента: article — одна статья |
id | Параметр страницы: номер статьи |
Откройте этот адрес на своём сайте — появится статья с номером 1.
Шаблон и позиции
Шаблон — оформление сайта: общая разметка, шапка, подвал, стили. Шаблон сайта по умолчанию называется Cassiopeia. В разметке шаблона есть одно место для вывода компонента и несколько именованных мест для модулей — позиций: sidebar-right, banner, footer и другие.
Модуль
Модуль — небольшой блок вокруг основного содержимого: меню, форма входа, список последних статей. Администратор создаёт модуль в разделе «Содержимое → Модули сайта», выбирает для него позицию шаблона и страницы, на которых он виден.
Плагин
Плагин ничего не выводит сам. Это код, который срабатывает на событие: статья готовится к выводу, пользователь вошёл, запись сохранена. Плагины включают в разделе «Система → Плагины».
Как собирается страница
Запрос /about
│
├─ пункт меню → компонент com_content, view=article, id=1
├─ шаблон Cassiopeia → общая разметка
│ ├─ место компонента ← статья
│ └─ позиции ← модули (меню, боковая колонка…)
└─ плагины срабатывают на события по ходу работыЧто выбрать для своей задачи
| Задача | Расширение |
|---|---|
| Своя страница со своими данными | Компонент |
| Блок в боковой колонке или подвале | Модуль |
| Изменить поведение Joomla или чужого расширения | Плагин |
| Изменить внешний вид сайта | Шаблон |
Частая ошибка
Новички создают статью и ищут её на сайте, а её нигде нет. Статья появляется на сайте только через пункт меню: либо прямой пункт на эту статью, либо пункт «Блог категории» или «Список материалов категории», который покажет все статьи категории.