Навчання розробці модуля Joomla
Я дізнався, вивчаючи та налаштовуючи основні чи інші сторонні модулі.
Модулі як концепція простіші, ніж компоненти (які, як можна сказати, є двома програмами 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 під час встановлення, він вказує файли, які буде скопійовано інсталятором, а також містить інформацію про параметри модуля, які використовуються менеджером модулів, а також додаткову інформацію про модуль.
Це основні частини основного модуля. Ще один аспект, який ви можете розглянути, - це підтримка декількох мов. Цього можна досягти, використовуючи мовні рядки та файли перекладу мови . Якщо б ви успішно досягли цього, створити базовий модуль, то додавати підтримку мов слід досить просто.