Создание модуля Joomla 2.5. Основы создания модуля.

Автор: Илья Остапенко /

Привет всем! Сегодня я открою раздел, который очень давно хотел открыть - это создания модуля Joomla. Собственно говоря, первая статья так и называется. В ней я опишу основы создания модуля, вернее будем создавать простые модули, благодаря которым будем обучаться создавать более сложные модули.  На самом деле тут нет ничего сложного, все довольно таки просто.

Создание модуля Joomla 2.5. Основы создания модуля

Вообще, что такое модуль в Joomla? Если говорить своими словами, это маленький компонент. Модули по своей структуре, более проще компонентов. Это так сказать, небольшие программы, которые можно отобразить в любом месте на сайте. Для многих компонентов разработчики специально создают модули, чтобы по-разному отобразить данные компонента на сайте.

Давайте для начала, создадим простой модуль который просто будет выводить одну строчку, для этого, сначала создаем установочный файл, который будет называться mod_lesson.xml

Установочный файл модуля мало чем отличается от установочного файла компонента, поэтому описывать, что значит, каждая строка не вижу смысла. Как видите, наш модуль называется lesson, следовательно, основной файл модуля будет называться mod_lesson. Давайте добавим в него код, который будет выводить строчку «Тестовый текст!»

Тут все банально просто! Сначала идет защит от прямого доступа к файлу, а потом вывод текста «Текст из модуля Lesson».  Сохраните эти два файла в архиве с расширением zip и установите его на своем сайте.  Да я надеюсь, вы сохранили оба файла в кодировке UTF-8?

готовый модуль для Joomla

Теперь перейдите в менеджер модулей найдите модуль lesson. Установите для него позицию и активируйте его, а так же не забудьте привязать его ко всем страницам. Теперь на сайте у вас должен отобразиться наш новоиспеченный модуль. Если у вас все так же как и у меня на картинке выше, тогда усложняем задачу.

 

Используем глобальные объекты Joomla

Давайте подключим класс JFactory, который содержит в себе методы вызова глобальных объектов. Так же зададим условие, в котором будет идти проверка авторизации пользователя и вывод соответствующих данных. Для этого замените код файла mod_lesson.phpследующим:

mod2

Как видите, если пользователь авторизирован, то будет выводиться строка как на картинке ниже. Давайте немного поясню переменную $user->name.  Если пользователь авторизирован, то все его данные из базы данных записываются в переменную $user, а чтобы получить значение определенного поля (в нашем случае имени пользователя), необходимо добавить название поля после переменной $user, то есть name. Надеюсь все понятно? Тогда переходим далее.

 

Добавление шаблонов и параматеров модуля

Давайте добавим к нашему модулю параметры, а так же шаблон. В шаблон я не буду добавлять css файлы, но знайте, что так делать можно. Так давайте для начала исправим наш основной файл модуля mod_lesson.php

Теперь он должен выглядеть так. Иначе говоря, код означает, что мы подключаем классJModuleHelper и получаем путь к папке с шаблонами (tmpl) нашего модуля, а потом получаем параметр с именем layout, а файлом по умолчанию будет default.

Теперь давайте добавим код, который был в файле mod_lesson.php, в файл default.php. Кстати, забыл сказать. Сначала создайте папку tmpl, а в ней создайте файл default.php.

Ну и осталось добавить параметры модуля в файл mod_lesson.xml. Для этого между тегов</files> и </install> вставьте следующий код:

добавление параметров модуля

Ну и все, теперь данные выводятся из файла default.php. Кстати, вы можете создать ещё один файл шаблона и добавить его в папку tmpl. А потом в параметрах модуля выбирать какой будет отображаться. Надеюсь и тут все понятно. Тогда давайте перейдем к последнему пункту, который я опишу в этой статье.

 

Вывод данных из базы данных

Давайте получим данные из базы данных. Для начала я предоставлю вам код, а потом уже объясню, что он значит, хотя на мой взгляд тут все понятно. Замените код файлаdefault.php следующим.

Опять подключаем глобальный класс JFactory, и получаем объект JDatabase. Теперь переменной query записываем запрос. Если говорить просто, то запрос звучит так: выбрать поле title из таблицы #__content где поле asset_id равно 62.  Дальше переменной dbустанавливаем запрос из переменных query. Ну, а потом в переменную list загружаем полученные данные запроса.

Далее  создаем цикл foreach. Этот цикл проходиться по всем значениям в индексированном массиве.  Обязательно нужно объявить переменную с полученными данными, как, только что созданную переменную foreach ($list as $text). Ну а потом выводим значение поле title. Эммм… Надеюсь вам все понятно =)

Ну на этом сегодняшнюю статью я и закончу. Скоро ждите новых постов про создание модуля, будем учиться создавать свои полезные модули,  а так же создам раздел про API Joomla. На десерт я приготовил вам, забавное видео из одной смешной телепередачи.

 

Скачать модуль можно по ссылке ниже:
mod_lesson

Комментарии к записи

Оставить комментарий

Это не спам.