Как сделать простой модуль для Joomla CMS?

joomlaЯ начинаю цикл статей посвяшеному одному из самых популярных ва текуший момент CMS — Joomla. А также её удачной на мой взгляд модификации Joostina.  Начнем конечно с простого. Статьи будут для тех кто хоть немного в курсе дела 🙂 Помоему расказывать что это такое и для чего нет смысла. Кому нужно тот найдет.

Создавая примитив для Joomla, можно получить некоторое представление о функционировании системы модулей Joomla в целом. Поэтому, мы создадим простой модуль, отображающий традиционную надпись “Hello World”, ну или «World Programs» кому что нравится.Для начала создадим папку для файлов модуля, имя которой должно сопадать с названием модуля. Принято использовать префикс mod_ чтобы сразу было понятно, что именно содержит папка.
В созданной папке создаем файл mod_helloworld.php, в который вводим следующее:

<?php
/**
* Простой Модуль Joomla
* автор: world-pro.ru
*/
defined ( '_JEXEC' ) or die('Restricted access')echo JText::_('Hello, World!');
?>

Собственно, мои маленькие любители джумлы, тут всего две строчки исполняемых. Первая должна быть во всех создаваемых вами расширениях, она дает понять Joomla что она вызывает расширение, а не что-то потустороннее. Вторая линия делает как раз то что нам нужно — выводит приветствие.
Мы выводим текст не стандартным echo, вместо этого мы используем метод “подчеркивание” класса Jtext. Этот класс отвечает также и за перевод текста, используя языковые пакеты, загруженные в Joomla (коряво как-то вышло предложение, признаю). К примеру, вы передали методу “_” строку “Hello” и в системе установлен испанский языковой пакет, значит метод вернет “Hоlа”. Если текст не найден в пакете установленного на сайте языка, то выводится как есть. Заметьте, что метод чувствителен к регистру и не переводит пунктуацию. Считается хорошей практикой использовать этот модуль для выводы текста, так что если ваш модуль вдруг станет популярным, авторы языковых пакетов могли бы добавить эквиваленты используемых вами словосочетаний, и “интернационализация” не потребовала переделки модуля.
Затем создаем XML файл с описанием модуля, примерно такой:

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Hello World</name>
<author>Penzin Konstantin</author>
<creationDate>2009</creationDate>
<copyright>(c) World-pro.ru. All rights reserved.</copyright>
<license>GNU/GPL</license>
<authorEmail>p.kostik@bk.ru</authorEmail>
<authorUrl>world-pro.ru</authorUrl>
<version>1.0.0</version>
<description>Простой модуль</description>
<files>
       <filename module="mod_helloworld">mod_helloworld.php</filename>
</files>
</install>

Тут все интуитивно понятно. В отличии от шаблонов, которые достаточно поместить в нужную папку, модуль должен быть зарегистрирован в системе (обратите на это внимание). То есть, вам нужно будет создать ZIP архив и установить модуль через Extension Manager.  На этом все. Продолжение следует.

Модули Joomla — это простейший тип расширений. В случае достаточного взаимодействия с пользователем используются компоненты.

Оригинал атьи на http://anton.gergel.ru/

Навигация по записям