В рамках курса JoomMaster level I с этим все немного проще, поскольку нам необходимо будет задействовать и разобрать весь стандартный функционал CMS.
Для того, чтобы правильно построить структуру будущего сайта нам необходимо знать и понимать внутреннюю структуру и логику Joomla.
Как же устроена Joomla?
Так называемая, физическая составляющая:
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeId9bb5eb0bbd
1. Весь функционал обеспечивают компоненты, модули и плагины.
2. За общий внешний вид отвечает шаблон. Однако у компонентов и модулей и некоторых плагинов есть свои файлы отображения, которые называются ВИДОМ (от англ. view), они определяют внешний вид выводимой ними информации. Их виды могут переопределяться в шаблоне, и тогда за отображение будет отвечать шаблон, а виды расширений будут игнорироваться.
3. За языки сайта отвечают файлы локализации.
Логическая составляющая - это меню, категории и материалы.
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeId6c10847dc0
Рассмотрим все по порядку.
Плагин - наименьшее расширение Joomla, которое выполняет определенные функции при возникновении определенных событий. Например, стандартный визуальный редактор, TinyMCE - это плагин, который подгружает инструменты форматирования в том месте, где вызывается обычный редактор. Некоторые галереи являются плагинами, для вызова которого в тексте статьи достаточно просто записать определенный код. Весь список плагинов можно созерцать по адресу (у нас уже стоит русская локализация) Расширения->менеджер плагинов. По умолчанию мы видим плагины, которые идут в базовой комплектации Joomla. При клике на любой из плагинов открываются его настройки (у некоторых их нет), там же будет и краткое описание по ним.
Модули - это уже более серьезное расширение Joomla. Модули Joomla - это небольшие объекты, которые выполняют определенные действия в основном по представлению информации. Например, для вывода меню мы сначала его создаем, определяем в нем пункты, а потом создаем модуль, который отображает его (вместе со всеми пунктами). Модули могут выводится в том месте сайта, где есть для него позиция (зависит от шаблона) или в контентной области (за такой вывод отвечает плагин Контент - Загрузка модулей).
Компонент- самое больший и сложный тип расширения, по сути это маленькая CMS, которая работает используя ресурсы Joomla (классы, константы, функции ядра). Встроенные компоненты (так называемые компоненты ядра) доступны на сразу после установки Компоненты->тут выйдет список компонентов, расширяющие компоненты - компоненты сторонних разработчиков, их нужно устанавливать отдельно. Часто к компонентам пишутся модули и плагины, которые используя "работу" компонента расширяют возможности отображения контента.
Шаблон отвечает за внешний вид сайта, но кроме этого в шаблоне прописаны позиции модулей, именно в эти позиции предназначены для размещения модулей.
Файлы локализации содержат в себе набор языковых констант. О том как это работает здесь.
Теперь, имея представление, как все устроено, можно приступить к проектированию самого сайта. Для начала определяем, что у нас будет внутри и как оно будет располагаться.
У нас за вывод всего отвечают модули, а за расположение модулей - отвечает шаблон, точнее прописанные в нем позиции модулей. Уже проще....
- 1. Определяем, какие модули у нас будут;
- 2. Выбираем нужный нам шаблон.
Как мы помним, модули предназначены для вывода.... всего. Сначала мы будем выводить контент (статьи). Для вывода контента необходимо создать меню и модуль для вывода этого меню.
Меню - это логическая структура, содержащая в себе список ссылок. Ссылки в этом списке имеют "типовые" параметры, т.е. каждая ссылка может быть одного (из существующих) типа.
Тип пункта меню определяет способ отображения контента. Мы можем выводить конкретную статью, статьи в формат блога из определенной категории, список категорий.
Материал - это наименьшая мера контента, а попросту - статья. Категория - это критерий, по которому материалы сайта группируются.
Теперь нам понятно, чтобы увидеть этот самый вывод контента посредством меню, нам необходимо создать логическую структуру контента (категории) и подготовить сами материалы (статьи)
- 3. Создаем категории
- 4. Создаем материал
- 5. Разбиваем его по категориям
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeIde63533373e
Теперь, когда материалы подготовлены, созданы категории и материалы распределены по категориям, мы смело можем создавать меню для вывода материалов.
- 6. Создаем меню
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeId5ca8a134e8
- 4. Создаем пункты в этом меню
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeId13c88ac94a
- 5. Создаем модуль для меню
- 6. Определяем позицию в шаблоне
http://radiuspro.net/j-m-l1/item/22-joomla-logi%D1%81#sigFreeId879556ad66
Это, что касается материалов... Однако при создании меню нам предлагается гораздо больше типов пунктов меню. Мы можем выводить форму авторизации, ленты новостей, форму поиска и др. Есть возможность создавать, попросту, псевдонимы других пунктов меню сайта и выводить содержимое других сайтов в iframe блоке. Рассмотрим мы все, но начнем именно с контента.
Это, кратко, о структуре и логике Joomla. Далее мы на практике будем закреплять все выше сказанное.
В следующей статье мы рассмотрим установку расширений и подробно разберем установку и настройку шаблона Joomla.