Как сделать модуль в joomla

Добавил пользователь Владимир З.
Обновлено: 03.10.2024

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

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

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

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

Видеокурс обучает созданию модулей для Joomla и их настройке, вы поймете как создавать модули меню для Joomla, формы и других.


Модульная система Joomla позволяет создавать на движке самые сложные сайты. Чтобы освоить cms, надо обязательно разобраться в ее строении. Для этого придется немного увеличить свои познания.

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

модуль в Joomla

Однако, если администратор планирует развивать свой сайт самостоятельно и расти одновременно в профессиональном плане, то ему надо начинать осваивать функционал cms. Потому что для серьезной работы надо изучить движок полностью.

Для создания модуля надо в панели управления зайти в пункт "Расширения" и выбрать вкладку "Менеджер модулей". Здесь пользователь может найти уже готовые модули, которые были установлены ранее. Некоторые из них стали частью системы вместе с шаблоном. При желании любой из них можно настроить по собственному вкусу. Для того, чтобы создать новый модуль, надо нажать на кнопку "Создать" в углу панели.

После нажатия на кнопку администратор увидит полный список тех модулей, которые можно создать при необходимости. Это очень большой список, и новичок может даже растеряться. Однако, ничего сложного в понимании типов модулей нет. При желании можно через поиск узнать о каждом типе намного больше. Для примера следует рассмотреть модуль с названием "Произвольный html-код". С его помощью можно вывести на сайте блок текста. Он также может стать основой для баннера.

Пользователь увидит окно, которое очень походит на форму для ввода текста. Здесь также присутствует визуальный редактор для форматирования. Для того, чтобы придать модулю стиль, есть специальное поле. Чтобы разместить блок в определенном месте на сайте, придется выбрать это место, пометив соответствующую строчку. В списке будут размещены различные места на сайте, написанные так, как их обычно прописывают в таблице стилей.

Для того, чтобы модуль начал отображаться на сайте, его надо предварительно активировать. Для этого надо поставить галочку напротив пункта "Включить". Пункт "Доступ" поможет отрегулировать видимость блока. Его можно сделать видимым только для администраторов сайта, а можно и для всех посетителей.

Стиль блока задается параметром "Суффикс класса модуля". Чтобы работать с этим параметром, можно собрать подробную информацию обо всех существующих суффиксах в Джумле. Изменив лишь слово в этой графе, можно полностью изменить внешний вид модуля.

Jino - облачный хостинг для Joomla

AJAX функциональность с помощью AJAX интерфейса com_ajax

Бизнес-логика, вывод данных и языковые файлы

Файл манифеста, параметры и точка входа

Общая информация, файловая структура и функционал

Клуб RoundTheme - шаблоны для Kunena и JComments и AcyMailing


Документация

WP REST API - получение данных
Gantry 5 - Введение
WP REST API – настройка и использование OAuth 1.0a аутентификации
WP REST API – настройка и использование базовой аутентификации
Создание темы для Grav

Заработок в сети

RND KInstance - тёмный шаблон для Kunena
RND Kglorious - шаблон для Kunena
Portfolio App - приложение портфолио для ZOO
Blog Pro App - приложение для ZOO
JD NewYork - шаблон для Joomla

Disclaimer

Данный сайт не собирает и не обрабатывает персональные данные пользователей. Комментарии реализованы внешним сервисом Disqus.

В этой статье я опишу процесс создания модуля для CMS “Joomla” версии 2.5. Модуль будет генерировать QR-код, на основе параметров из настроек модуля.

Модуль будет работать на основе библиотеки PHP QR Code.

Итак, начну по порядку. Сначала нужно скачать последнюю версию библиотеки с GitHub . Библиотеки CMS “Joomla” хранятся в папке libraties, расположенной в корневой папке сайта. Создадим в ней папку, например, с названием qrlib и разархивируем в нее содержимое скачанного архива. Добавим в папку файл index.html, следующего содержания:

Его можно скопировать из любой папки, где содержатся библиотеки системы. Он защищает от прямого обращения к папке из браузера и просмотра ее содержимого. Основным файлом библиотеки является файл qrlib.php. Обратим на это внимание, потому что его имя пригодится для подключения библиотеки в коде модуля. Также в папке библиотеки PHP QR Code присутствует файл index.php. В этом файле находится примерный код работы с библиотекой. Его можно запустить для ознакомления с возможностями PHP QR Code. После ознакомления его можно удалить из папки /libraries/qrlib.

Теперь переходим в папку modules, в которой хранятся все модули CMS “Joomla”. Создаем там папку с именем mod_qrcode – в ней мы будем создавать файлы нашего модуля. Не забываем про файл index.html, упомянутый выше – скопируем его в папку модуля. У любого модуля в “Joomla” есть 2 обязательных файла: имя_модуля.xml и имя _модуля.php. В нашем случае – это будут mod_qrcode.xml и mod_qrcode.php. В mod_qrcode.xml будут храниться настройки модуля, а в mod_qrcode.php – код самого модуля. Остальные файлы модуля, кроме указанных, необязательны и могут отсутствовать.

Вообще, структура модуля в CMS “Joomla” следущая:

  • index.html – файл-заглушка
  • mod_имя_модуля.php – код модуля (обязательный)
  • mod_имя_модуля.xml – описание и настройки модуля (обязательный)
  • helper.php – в файле хранится код класса-помощника. Методы этого класса получают данные из БД и форматируют их для вставки в код шаблона.
  • tmpl– папка для шаблонов
    • default.php – шаблон для отображения результатов работы модуля

    Кроме описанных файлов, мы создадим еще 2 языковых файла – они предназначены для отображения текста на разных языках в файлах модуля. Создадим пока файлы для русского языка. Их имена будут следующими: ru-RU.mod_qrcode.ini и ru-RU.mod_qrcode.sys.ini. Эти файлы нужно будет поместить в папку \language\ru-RU. По имени файла можно понять, что в нем указывается название модуля: ru-RU.имя_модуля.ini и ru-RU.имя_модуля.sys.ini. Эти файлы мы создадим позже, а сейчас переходим к созданию файла mod_qrcode.xml с описанием и настроками модуля.

    Файл mod_qrcode.xml состоит из блоков с описанием отдельных сущностей модуля: файлов, языковых настроек, общих параметров модуля и других. Если посмотреть на его содержимое внимательней, то можно без особого труда разобраться с описанием модуля. Я не буду останавливаться на этом и подробно описывать все настройки - объясню только некоторые моменты. Некоторые xml-элементы содержат текст, состоящий из заглавных букв и символов подчеркивания – это и есть наименования настроек из языковых файлов. В процессе работы с модулем, например, в административной части, вместо них вставляется фраза на языке, используемом системой для определенного сайта. В блоке config описываются параметры модуля для административной части. Здесь нужно обратить внимание на типы полей, в которых хранятся настройки.

    В создаваемом нами модуле, предполагаются следующие обязательные параметры:

    • Данные, на основе которых будет генерироваться QR-код;
    • Уровень коррекции ошибок для сгенерированного штрих-кода;
    • Размер каждого квадрата штрих-кода в пикселях;

    Для первого параметра мы будем использовать поле типа текст (”text”), а для второго и третьего тип поле будет список (”list”). Ознакомиться с полным списком типов полей. .

    Теперь пришло время создать языковые файлы и разместить их в папке \language\ru-RU. Начнем с файла ru-RU.mod_qrcode.ini.

    Также нужно создать файл ru-RU.имя_модуля.sys.ini.

    Немного забегу вперед, чтобы показать результат проделанной на данный момент нами работы: после регистрации модуля в базе данных (или установки модуля), в административной части сайта мы сможем увидеть форму для ввода параметров. Эта форма создается системой на основе данных из созданных нами файлов.

    Настройки на странице модуля в административной части Joomla

    А сейчас переходим к самому важному шагу – созданию файла mod_qrcode.php – в котором будет находиться код, описывающий работу нашего модуля.

    Теперь остается только сохранить в переменной $qrImgUrl URL png-файла и подключить шаблон модуля.

    Код шаблона модуля (tmpl/default.php) у нас очень прост. Отмечу только то, что в нем можно обращаться к переменным, созданным в файле модуля. В нашем случае, это переменная $qrImgUrl .

    Итак, почти все готово: переходим к последнему этапу – регистрации модуля в базе данных CMS “Joomla”.

    Для этого нужно открыть базу данных сайта (например, используя phpMyAdmin) и выполнить следующий SQL-запрос:

    Читайте также: