Обучение разработке модулей Joomla
Как я узнал, я изучал и настраивал основные или другие сторонние модули.
Модули как концепция более просты, чем компоненты (которые мы могли бы назвать 2-мя приложениями (front-end / back-end)) и предназначены для отображения части информации.
Так что, если вы откроете папку / файлы модуля и начнете читать код, вы, вероятно, быстро освоитесь с ним.
Joomla Модуль Анатомия на примере
Например, вы можете открыть модуль « Последние статьи» в Joomla 3.2 и проверить его код, читая строки ниже. В папке модуля мы найдем 4 основных файла:
1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4.mod_articles_latest.xml
Это mod_articles_latest.php
основной файл модулей, который используется первым при вызове модуля. Он инициализирует модуль и включает в себя helper.php
, вызов метода класса помощника для извлечения данных и, наконец, включает шаблон модуля ( default.php
) для отображения данных.
helper.php
Файл является «машиной» модуля (если мы могли бы назвать это так). В помощнике мы создаем класс модуля и его методы для извлечения данных. Это место, где у нас может быть модуль «пообщаться» с базой данных. Чтение кода в файле хелперы этого модуля, вы увидите , что он содержит ModArticlesLatestHelper
класс , который имеет один метод:getList(&$params)
.
В рамках этого метода модуль проверяет внутренние настройки модуля и в конечном итоге создает список статей, которые он будет возвращать, основываясь на этих условиях. Обратите внимание, что этот модуль использует JModelLegacy::getInstance
метод для возврата объекта модели содержимого .
Это default.php
основной шаблон модуля, который отвечает за отображение содержимого модуля. - Здесь мы строим вывод html, используя данные, которые вы ранее извлекли mod_articles_latest.php
, вызывая класс модуля. Он находится внутри папки tmpl . * Обратите внимание, что файл основного модуля включает в себя файл шаблона с JModuleHelper::getLayoutPath
методом, который сначала проверит любые переопределения шаблона.
Наконец, mod_articles_latest.xml
я бы назвал это «послом» модуля. Это файл, который «вводит» модуль в Joomla во время установки, он определяет файлы, которые будут скопированы установщиком, а также содержит информацию о параметрах модуля, которые используются менеджером модулей, а также дополнительную информацию о модуле.
Это основные части базового модуля. Еще один аспект, который вы можете рассмотреть, это поддержка нескольких языков. Это может быть достигнуто с помощью языковых строк и файлов языкового перевода . Если бы вы достигли такого успеха, чтобы создать базовый модуль, добавление поддержки языков должно быть довольно простым.