Я начинаю цикл статей посвяшеному одному из самых популярных ва текуший момент 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/