Создание структуры модуля – папок и файлов.
При создании любого расширения для “Joomla”, нужно придерживаться определенной строгой структуры папок и файлов. Для создания папок и файлов вы можете использовать редактор или IDE, которым обычно пользуетесь. Если такового нет, можете пользоваться Notepad++. Сначала создайте основную папку модуля под названием “mod_siteusers”. В ней создайте файлы, по приведенному ниже списку.
Важно: для того, чтобы модуль работал, папка “mod_siteusers” должна находиться в папке “modules”, расположенной в корне вашего сайта. Однако пока делать этого не нужно, так как сначала нужно создать модуль, затем запаковать его файлы в zip-архив и установить его в административной части CMS “Joomla”.
- mod_siteusers
- -mod_siteusers.xml
- -mod_siteusers.php
- -helper.php
- -index.html
- -en-GB.mod_siteusers.ini
- -ru-RU.mod_siteusers.ini
- --tmpl (папка)
- --tmpl/default.php
- --tmpl/ordered_list.php
- --tmpl/index.html
Сейчас подробно опишем каждый файл. Пожалуйста, обратите внимание на комментарии в коде.
mod_siteusers.xml
Этот файл содержит все данные о модуле: информацию о модуле и его параметрах, а также точную структуру файлов.
XML
Вы может свободно изменять персональную информацию. Обратите внимание на теги “<field>
”. В них описываются параметры, которые вы можете увидеть в «Менеджере модулей» административной части сайта на странице настроек определенного модуля. В нашем модуле их 4. Во-первых, это параметр «Суффикс класса модуля», который есть у любого модуля в системе. В это поле пользователь может добавить свой суффикс, который будет присоединен к имени CSS-класса в коде модуля. Это поможет изменить внешний вид модуля на странице сайта. Второй параметр – это просто «разделитель». Третий параметр – количество отображаемых пользователей в модуле и, наконец, четвертый параметр – возможные варианты отображения списка пользователей. Каждый вариант отображения – это шаблон, который нужно размещать в папке “tmpl”. В настройках нашего модуля можно выбрать 2 варианта отображения: в виде нумерованного списка без описания перед списком и в виде ненумерованного списка с описанием перед списком. Отличия при выборе одного из этих параметров незначительны, но мне просто хочется показать эту возможность на простом примере. Также вы могли обратить внимание на значение атрибута “label
”, которое равно “LABEL_USER_COUNT
”. Оно используется в языковых файлах, но об этом позже.
mod_siteusers.php
Это файл контроллер, управляющий функциями и файлами модуля.
PHP
helper.php
Этот файл содержит модель, «рабочую лошадку», которая обрабатывает бизнес-логику.
PHP
Запрос в этом файле выбирает из таблицы #__users
«имена» пользователей, ограничивая количество возвращаемых строк значением параметра «количество пользователей», которое пользователь устанавливает в настройках модуля. Результаты этого запроса будут помещаться с помощью метода "loadObjectsList
" в переменную $rows
(это массив объектов). Значения свойств объектов, хранящихся в переменной, мы сможем вывести в цикле в шаблоне (файл default.php).
index.html
HTML
Этот HTML-файл используется исключительно для предотвращения доступа пользователей к файлам модуля напрямую.
tmpl/default.php
PHP
default.php – шаблон модуля, используемый «по умолчанию». По сути, он представляет собой HTML-файл с вставками кода PHP. PHP-код состоит из цикла, в котором обрабатывается массив, содержащий имена пользователей. Данные из массива выводятся на страницу сайта в виде ненумерованного списка.
tmpl/ordered_list.php
PHP
Этот шаблон выводит список пользователей сайта в виде нумерованного списка. Как описывалось выше, отличаются эти 2 шаблона только тем, что у второго шаблона отсутствует значение параметра «описание» из настроек модуля и список нумерованный.
index.html
HTML
Также как и в папке модуля, этот HTML-файл используется исключительно для предотвращения доступа пользователей к файлам модуля напрямую.
Теперь, когда все файлы вашего модуля созданы, все содержимое папки "mod_siteusers" нужно поместить в ZIP-файл, используя любой архиватор (WinZip, WinRar, 7zip, и т.п.).
Поздравляю! Ваш первый модуль Joomla создан. Давайте попробуем его установить!
Войдите в административную панель сайта и откройте «Менеджер расширений». Нажмите кнопку «Обзор» в секции «Установка» и выберите архив с вашим модулем. После установки вы увидите сообщение «Установка модуля успешно завершена».
Теперь перейдите в «Менеджер модулей», там в списке модулей должен появиться ваш модуль. Кликните по названию и вы увидите свойства модуля. Все ваши параметры будут находиться справа. Вы можете изменить количество пользователей, которое будет отображаться, а также тип списка. Теперь убедитесь, что модуль опубликован в желаемой позиции в шаблоне.
Откройте публичную часть сайта и вы увидите ваш модуль в работе.
Результаты работы модуля выглядят не очень привлекательно. Предлагаю вам изменить его в качестве домашнего задания. Это модуль очень прост. Вы можете использовать фреймворк, чтобы извлечь любые данные из базы данных, например, такие как статьи или еще что-нибудь. Также вы можете извлечь из базы и отобразить в модуле такие данные как: email пользователей, логин и многое другое. Возможности безграничны!
Вы можете скачать код созданного модуля.
Перевод – Земсков Матвей
Оригинал статьи - http://www.techguywebsolutions.com/create-a-custom-joomla-2.5-module.html