Создание модуля Joomla часть 1

Создание модуля Joomla часть 1

Здравствуйте дорогие читатели блога. Сегодня научимся как разработать свой Joomla модуль.

Давайте создадим простой модуль который будет выводить чуток переделанную надпись "Hello Earth"! Данный модуль используется как фундамент, чтобы с его помощью создали еще более сложные модули, так что будьте очень внимательными.

Для начало нам нужно создать папку где будет "жить" наш модуль. Как обычно, имя папки должно начинаться с приставкой mod_ и дальше должно идти название модуля. В нашем случае будет называться mod_helloearth.

В созданной нам папке создадим файл mod_helloearth.php содержащий следующее строки:

<?php
// no direct access
defined('_JEXEC') or die('Restricted access');
echo JText::_( 'Hello Earth' );

Как видите, код состоит всего из 2-х строчек:

defined('_JEXEC') or die('Restricted access');

Используется во всех расширениях Joomla что обеспечивает защиту от прямого обращения к скрипту.

echo JText::_( 'Hello Earth' );

В этой строчке выводится приветствие с помощью команды echo. Отличное знание языка PHP - большой плюс хотя...куда нам разрабатывать расширения без знания в PHP?

Обратите внимание, что здесь используется встроенный класс JText. JText - это класс который получает доступ к сервису по переводу для любых языковых пакетов, установленных на CMS Joomla. Он переводит английские слова в текущую локализацию Joomla. Если заданный текст не найден в текущей локализации, то отобразится просто начальный текст (Hello Earth). JText не учитывает регистр и не переводит пунктуацию.

После всего сделанного мы должны создать главный файл XML, который будет указывать Joomla как и куда устанавливать наш модуль. Название этого файла должно быть также как было описано выше, только расширение будет *.xml. Итак создаем и сохраняем в нашей папке файл mod_helloearth.xml, содержащий следующее:

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Меня зовут модуль</name>
<creationDate>Январь 2012</creationDate>
<author>Олен Nipons.</author>
<authorEmail>nnipons@mail.ru</authorEmail>
<authorUrl>http://nipons.ru</authorUrl>
<copyright>All rights reserved</copyright>
<license>GNU/GPL</license>
<version>1.0.0</version>
<description>Очень простой модуль - выводит надпись "Hello Earth" </description>
<files>
<filename module="mod_helloearth">mod_helloearth.php</filename>
</files>
</install>

Рассмотрим XML по подробнее:

  • Начльный тэг <install> инструктирует Joomla что устанавливается модуль, совместимый с версиями 1.5 и выше;
  • <name> - определяет название модуля;
  • <author> - имя автора;
  • <creationDate> - дата создания;
  • <copyright> - сведения о копирайте;
  • <license> - лицензия;
  • <authorEmail> - e-mail автора;
  • <authorUrl> - сайт автора;
  • <version> - версия модуля;
  • <description> - описание модуля;
  • <filename> - определяет файлы (элементы), которые использует модуль. В данном случае 1 файл;

Это все что потребуется для создания простейшего модуля. Все что остается сделать это запокавать папку mod_helloearth в архив ZIP и установить этот модуль через Менеджер Расширений (Extension Manager) Расширения -> Установить/Удалить. Так же не забыть опубликовать этот модуль в нужной позиции и задать ему заголовок.

Создание модуля Joomla часть 1

Создание модуля Joomla часть 1

XML-файл всегда должен сохранятся в кодировке UTF-8 желательно без BOM.

Отвечу на ваши вопросы с комментариях.

Скачать mod_helloearth.zip

Комментарии  

 
0 #1 Дмитрий 09.04.2013 12:31
Вопрос не совсем прям по модулю. Я добавил в индексный файл строчку

Потом добавил в языковой файл ru-RU.mod_footer.ini строку
MOD_TOP_TEXT="Наверх"
Но на сайте всё равно отобразилось как MOD_TOP_TEXT. Почему он не подцепил перевод? Может ещё что-то нужно где-то прописать?
Спасибо.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

MOD_BREADCRUMBS_HERE Главная страницаJoomlaСоздание модуля Joomla часть 1
?>