На главную
 
Здесь вы можете проверить, свободен ли
интересующий вас домен, и сколько он стоит
 
Выберите необходимую вам зону
 
Главная CMS Joomla! Инструкция Joomla! Создание собственных расширений
Создание собственных расширений PDF Печать E-mail

В этой главе...

  • О том, как создать модуль и компонент
  • Установка созданных нами расширений
  • Проблемы при установке расширений
  • Работа с базой данных средствами Joomla
  • Языковые файлы, создание многоязычных расширений

Опять о типах расширений

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

Плагины же работают на более низком уровне и обрабатывают данные, передающиеся из Joomla в браузер пользователя и обратно.

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

Мы не будем рассматривать основы РНР, а весь материал в этой главе будет рассчитан на то, что вы полностью владеете этим языком программирования. Если это не так, в любом книжном магазине вы без проблем найдете книжку по РНР (в том числе и мою).

 

Разработка модуля

Структура модуля

Модуль состоит как минимум из двух файлов: служебного XML-файла и файла кода (PHP-файл). Первый файл содержит всю информацию о модуле, а также инструкции относительно установки модуля в системе. Второй файл содержит непосредственно сам PHP-код модуля.

Опять о типах расширений

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

Плагины же работают на более низком уровне и обрабатывают данные, передающиеся из Joomla в браузер пользователя и обратно.

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

Мы не будем рассматривать основы РНР, а весь материал в этой главе будет рассчитан на то, что вы полностью владеете этим языком программирования. Если это не так, в любом книжном магазине вы без проблем найдете книжку по РНР (в том числе и мою).

 

Разработка модуля

Структура модуля

Модуль состоит как минимум из двух файлов: служебного XML-файла и файла кода (PHP-файл). Первый файл содержит всю информацию о модуле, а также инструкции относительно установки модуля в системе. Второй файл содержит непосредственно сам PHP-код модуля.

Разработка служебного XML-файла

Создайте каталог mod_mymodule. В него мы поместим оба файла нашего модуля. Первым делом нужно разработать XML-файл. В большинстве случаев он будет стандартным — вам нужно будет только изменять имя модуля и имя PHP-файла. В листинге 9.1 приведен типичный XML-файл модуля.

Листинг 9.1. Файл mod_mymodule. xml

<?xml version="1.0" encoding="utf-8"?>

<install type="module" version="1.5.0">

<name>My Module</name>

<author>Denis Kolisnichenko</author>

<copyright>(C) 2008 Denis Kolisnichenko</copyright>

<creationDate>Oct 2008</creationDate>

<authorEmail> Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript </authorEmail>

<authorUrl>www.dkws.org.ua</authorUrl>

<description>My first module</description> <version>l.0.0</version> <files>

<filename module="mod_mymodule">mod_mymodule .php</filename> </files> <params>

<param name="your_name" type="text" default="Denis" label="Your Name" description="Your name" /> </params> </install>

Проанализируем содержимое XML-файла. Первая строка обязательна для всех XML-файлов. Вы можете разве что указать другую кодировку. Вторая строка говорит о том, что наше расширение — модуль (type="module") и для его установки нужна версия Joomla 1.5.0 или выше:

<install type="module" version="1.5.0">

Далее следует стандартная информация о модуле:

  •  название — name;
  • разработчик — author;
  • 156 Глава 9
  •  дата создания — creationDate;
  • информация об авторских правах — copyright;
  •  "координаты" автора — authorEmail, authorUrl;
  • описание модуля — description;
  •  версия — version.

Блок files описывает файлы модуля, у нас всего один файл:

<files>

<filename module="mod_mymodule">mod_mymodule .php</filename> </files>

В блоке params описываются параметры модуля, которые можно будет изменить с помощью интерфейса администратора. Каждый параметр описывается с помощью тега param. Вам нужно указать следующие атрибуты этого тега:

  • name — имя параметра в сценарии;
  •  type — тип параметра (текст в данном случае);
  • default — значение по умолчанию;
  •  label — подпись параметра в интерфейсе администратора;
  • description — описание параметра (можно не указывать).
Секцию <install> нужно обязательно закрыть:

</install>

 

Разработка РНР-файла

Теперь можно приступить к созданию файла mod_mymodule.php — это главный файл модуля, содержащий его исходный код. Наш модуль будет предельно прост, но, тем не менее, он демонстрирует основные принципы создания модулей для Joomla. Модуль попросту будет выводить строку: Hello, <Имя>.

Код нашего модуля представлен в листинге 9.2.

ЛИСТИНГ 9.2. Код файла mod_mymodule.php

<?php

// прямой доступ запрещен 

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

// получаем значение 

SUserName = $params->get('your_name', 0);

// Выводим строку 

echo "<strong>" . JText::_('Hello, ') . SUserName . "</strong>.";

Создание собственных расширений 157

Теперь рассмотрим основные моменты нашего простого модуля. Если определена константа JEXEC, модуль выполняется вместе с Joomla, если же такой константы нет, значит, модуль запущен непосредственно (например, злоумышленником), и поэтому мы должны прервать выполнение такого РНР-кода.

Получить значение параметров модуля, установленных в окне Менеджер модулей, можно с помощью метода get объекта $params:

$UserName = $params->get('your_name', 0);

Все, что нам осталось — это просто сделать вывод. Я рекомендую обычные фразы, например Send (Отправить), Save (Сохранить), выводить через статический класс Jtext: тогда Joomla автоматически переведет их на выбранный пользователем язык интерфейса.

 

Новости

Статистика

Просмотры материалов : 1256707

Кто на сайте

Сейчас 228 гостей онлайн
 
 
 
 
Партнер REG.RU Мы принимаем WebMoney, Здесь находится аттестат нашего WM идентификатора 110005872604 Мы принимаем QIWI Мы принимаем Яндекс.Деньги Мы принимаем Z-PAYMENT
Разработка сайтов компания “СВАРОГ”
© 2012 Host Solutions - Хостинг и регистрация доменов. Все права защищены.
Дизайн, Разработка сайтов компания “WEB-SVAROG”