Разработка расширений Joomla 1.7 - Часть 1

( 4 Votes )

Здравствуйте уважаемые читатели моего сайта. Я начинаю серию уроков о создании компонентов, модулей, плагинов на Joomla 1.7, в которых вы шаг за шагом ознакомитесь с принципом написания расширений и научитесь сами создавать их.

Итак, приступаем.

Введение

Joomla 1.7 использует три разных типа области функционирования:

  • Установка (используется для установки Joomla)
  • Администрирование (используется для управления содержимым)
  • Отображение (используется для отображение содержимого)

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

  • первая находится в каталоге /components и используется для отображения контента
  • вторая находится в каталоге /administrator/components и используется для управления контентом.

Точка входа компонента для области Отображения имеет путь:

/components/com_componentname/componentname.php

а для области Администрирования:

/administrator/components/com_componentname/componentname.php

Префик com_ используется для всех директорий компонентов.

Создание простого компонента

Давайте создадим простенький компонент, который будет выводить определенный текст, например «Привет!». Назвем данный компонент Hello.

Создание установочного архива и установка компонента Hello в Joomla.

Наверное, вы уже знаете, что для установки расширений Joomla использует zip-архивы. Давайте создадим такой установочный архив для компонента Hello.

Создадите в вашем редакторе, в какой-нибудь отдельной папке вне вашего сайта, следующие файлы (все файлы желательно создавать в кодировке UTF-8 без BOM. Это нужно для того, чтобы не возникло проблем с отображением кириллицы, которую Вы будете использовать в этих файлах, например, в комментариях к коду):

hello.xml

site/hello.php

site/index.html

admin/index.html

admin/hello.php

admin/sql/index.html

admin/sql/updates/index.html

admin/sql/updates/mysql/index.html

admin/sql/updates/mysql/0.0.1.sql

Рассмотрим по порядку каждый файл:

hello.xml – служит для описания всех данных о компоненте и файлов, которые используются в процессе установки.

Рассмотрим синтаксис данного файла:

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

 <!--Определяем, что устанавливаемое расширение – компонент для версии 1.7. Атрибут method="upgrade" означает, что установщик, заменит существующий компонент устанавливаемым в случае, если компонент с таким названием уже установлен в системе-->
<extension type="component" version="1.7.0" method="upgrade">
    
    <!--Определяем имя компонента-->
    <name>Hello!</name>

    <!--Элементы ниже необязательны и их значения могут быть введены в произвольном формате-->
    <creationDate>15.11.2011</creationDate>
    <author>Bogdan</author>
    <authorEmail>joomla-school[a]ya.ru</authorEmail>
    <authorUrl>http://joomla-school.com</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>

    <!--Строка версии записывается в таблицу компонентов-->
    <version>0.0.1</version>

    <!-- Поле description необязательно и по умолчанию равно значению поля name -->
    <description>Description of the Hello component ...</description>
 
    <update> <!-- Запуск обновления -->
      <schemas>
        <schemapath type="mysql">sql/updates/mysql</schemapath>
      </schemas>
    </update>
 
    <!-- Файлы и директории области Отображения. Копируются из установочного архива в директорию компонента на сайте -->
    <!--Обратите внимание на аттрибут folder, он указыает из какой папки будут копироваться файлы-->
    <files folder="site">

       <!--Пустой файл. Используется для предотвращения прямого доступа к папке-->
       <filename>index.html</filename>

       <!--Точка входа компонента в области Отображения-->
       <filename>hello.php</filename>
    </files>
 
     <administration>
       <!-- Создает ссылку на компонент в админпанели во вкладке Компоненты -->
       <menu>hello</menu>

       <!-- Файлы и директории области Администрирования. Копируются из установочного архива в директорию компонента в админпанели -->
       <files folder="admin">

          <!--Пустой файл. Используется для предотвращения прямого доступа к папке-->
          <filename>index.html</filename>

          <!--Точка входа компонента в области Администрирования-->
          <filename>hello.php</filename>

         <!-- Папка SQL-скриптов -->
         <folder>sql</folder>
       </files>
    </administration>
 </extension>

В папке site будем размещать все файлы, которые должны быть помещены в директорию /components/com_hello

site/hello.php – точка входа компонента Hello для области Отображения. В данный файл впишем текст Привет!

В папке admin будем размещать все файлы, которые должны быть помещены в директорию /administrator/components/com_hello

admin/hello.php - точка входа компонента Hello для области Администрирования. В данный файл впишем текст Привет! Админпанель

admin/sql/updates/mysql/0.0.1.sql будет в дальнейшем использован для создания таблиц компонента. Сейчас это просто пустой файл.

Все файлы index.html содержат код

<html><body bgcolor="#FFFFFF"></body></html>

Итак, запакуем все файлы в zip-архив с именем hello.zip (имя архива может быть и другим, это не имеет значения).

Далее, устанавливаем данный архив в менеджере расширений.

После удачной установки, вы можете увидеть в меню Компоненты ссылку на наш компонент hello.

progrext

Если вы нажмете на нее, то перейдете по следующей ссылке:

http://ваш_сайт /administrator/index.php?option=com_hello

progrext2

То есть, это ссылка на точку входа в область Управления компонентом Hello, а именно файл, который размещен здесь:

/administrator/components/com_hello/hello.php

Если же мы наберем в адресной строке браузера ссылку (уберем administrator):

http://ваш_сайт /administrator/index.php?option=com_hello

то попадем на точку входа области Отображения данного компонента, а именно на файл

/components/com_hello/hello.php

progrext3

Установочный архив вы можете скачать во вложениях к данной статье.

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

До следующего урока.

Вложения:
ФайлОписаниеРазмер файла
Скачать файл (hello.zip)hello.zip 4 Kb

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

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


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

Рекомендую!

discwithbox"Joomla - Профессиональный сайт за один день"

"86 видеоуроков, 12 часов 46 минут экранного видео посвящены лучшей системе для создания сайтов - Joomla!"

Vip-доступ

Для того, чтобы скачивать видеоуроки, Вам необходимо получить VIP доступ

RSS лента новых уроков

Кликните по иконке, чтобы получать новые уроки по RSS каналу

RSS-подписка на новые уроки сайта Joomla-School.com

Или введите email, чтобы получать ссылки на новые уроки в свой ящик

Добавить в Google Reader

Читать в Яндекс.Ленте

Новые комментарии

  • Не переводит, страница моргает и не чего ни происходит. ((( Кто знает ... Далее...
  • А как повесить этот модуль на ссылку? Далее...
  • Да еще не плохо бы узнать как видео выложить в этом копоненте. Богдану... Далее...
  • Да пора выложить если канечно есть время и порох. спасибо! Далее...
  • Здравствуйте,а как можно настроить,чтобы при заходе на сайт всплывало ... Далее...
  • Друг, огромнейшее тебе спасибо! Никогда не забуду!!! Далее...
  • Не показывает статьи, на которые хочу поставить ссылку! В чем может бы... Далее...
  • Исправлено. После обновления файл router.php был изменен и оттуда исче... Далее...

Сообщения с форума

  • Online Pharmacy Ceftin!Buying Ceftin cod overnight... - inetryconydot Четверг, 23 Февраля 2012 00:57 - Hello dear visitors forum joomla-school.com. I offer you a pill Ceftin. Our prices will pleasantly surprise you, our online consultants answer all your questions in...
  • BUY ORLISTAT 60 MG! ORLISTAT SHIPPED TO UK - inetryconydot Четверг, 23 Февраля 2012 00:49 - BUY CHEAP ORLISTAT ON LINE WITHOUT A PRESCRIPTION! BUY ORLISTAT TABLETS © 2010. TOP PHARMACY LIST! * MEDICATION WITHOUT A PRESCRIPTION! * YOU CAN FIND: THE BEST...
  • Ceftin 250 mg.Buy cheapest Ceftin without prescrip... - inetryconydot Среда, 22 Февраля 2012 18:45 - Dear readers section this, I hasten to inform you that our online pharmacy, there were lower prices...
  • Re: интеграция - mapadona Вторник, 21 Февраля 2012 01:50 - Quote: Я использую JFusion
  • Re: phpBB - mapadona Воскресенье, 19 Февраля 2012 14:09 - Тоже пробую,пока не получается.А вообще нужен мост...
Новые пользователи:
  • Гридасов Павел Серге
  • Курбатов С.Н.
  • Котов Константин
  • Богачёв Денис
  • Виктор
Всего пользователей: 7955

Реклама