Создание компонента-пустышки

В сегодняшнем посту я расскажу, как создавал шаблон компонента.

В начале создаем папочку, где будет располагаться наш компонент.  Я ее назвал catx.

В ней создаем 4е папочки (для нашего компонента понадобятся не все, но я с запасом в будущее)

1)      Backend – Здесь мы разместим все что относится к админке (хотя в этой версии у нас админки и не будет, но она нам понадобится в будущем)

2)      Frontend – Это для пользовательской части

3)      languages-admin – папочка с  языковыми файлами для админки

4)      languages-front – аналогично, но для пользовательской части

Во всех папках создаем по одному файлу index.html, они будут пустые и служат лишь для того, чтобы не отображались файлы этой директории при прямом указании пути в браузере.

В папках с языками создаем файл ru-RU.com_catx.ini, пока тоже пустой.

Дальше нам понадобится спроектировать изначальную структуру БД (можно и потом, но базу я предпочитаю делать заранее).

У меня получилось примерно следующее.

CREATE TABLE `#__catx_main` (
`id` int(11) NOT NULL auto_increment,
`adress` varchar(150) NOT NULL,
`tel` varchar(15) NOT NULL,
`dost` smallint(11) NOT NULL,
`nomer` smallint(2) NOT NULL,
`date` datetime NOT NULL,
`payStatus` tinyint(1) NOT NULL,
`order_id` varchar(75) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251;

Этот файл нужно сохранить в файл install.mysql.utf8.sql, который расположить в backend

Далее там же создаем файл uninstall.mysql.utf8.sql, его мы будем использовать для деинсталляции БД. В него запишем следующий SQL запрос

DROP TABLE #__catx_ main;

Вот практически и все. Осталось сделать конфигурационный файл.  Создадим в корне нашего компонента файл catx.xml

У меня он получился следующего содержания

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
<name>catx</name>
<creationDate>2010-07-30</creationDate>
<author> AlDem67</author>
<authorEmail> Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. </authorEmail>
<authorUrl>www.only-joomla.ru</authorUrl>
<copyright>Copyright 2010 - All left reserved.</copyright>
<license>Private</license>
<version>1.0.0</version>
<description><![CDATA[Admins manager]]></description>
<files folder="frontend">
<filename>index.html</filename>
</files>
<languages folder="languages-front">
<language tag="ru-RU">ru-RU.com_catx.ini</language>
</languages>
<install>
<sql>
<file driver="mysql" charset="utf8">install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<administration>
<menu link="option=com_catx">IntellectMoney</menu>
<submenu>
<menu link="option=com_catx">IntellectMoney</menu>
</submenu>                   
<files folder="backend">
<filename>install.mysql.utf8.sql</filename>
<filename>uninstall.mysql.utf8.sql</filename>
</files>
<languages folder="languages-admin">
<language tag="ru-RU">ru-RU.com_catx.ini</language>
</languages>
</administration>
</install>




Давайте немного его рассмотрим.

<name>catx</name>
Здесь мы указали название нашего компонента


<creationDate>2010-07-30</creationDate>
Дата создания


<author> AlDem67</author>
Кто автор

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

<authorUrl>www.joomla-only.ru</authorUrl>
УРЛ

<copyright>Copyright 2010 - All left reserved.</copyright>
Копирайт

<license>Private</license>
Тип лицензии

<version>1.0.0</version>
Версия нашего компонента

<description><![CDATA[Admins manager]]></description>
Описание


Список файлов нашей  папки frontend, они будут скопированы при установки в /component/catx/
<files folder="frontend">
<filename>index.html</filename>
</files>


Языковой файл для пользовательской части, будет скопирован в /language и далее в поддиректорию указанную в tag
<languages folder="languages-front">
<language tag="ru-RU">ru-RU.com_catx.ini</language>
</languages>


Установка БД
<install>
<sql>
<file driver="mysql" charset="utf8">install.mysql.utf8.sql</file>
</sql>
</install>


Деинсталляция БД
<uninstall>
<sql>
<file driver="mysql" charset="utf8">uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>


Наша админка
<administration>

Создадим пункт меню в «Компоненты»
<menu link="option=com_catx">IntellectMoney</menu>

И подменю в этом пункте.
<submenu>
<menu link="option=com_catx">IntellectMoney</menu>
</submenu>     
              

Копируем следующие файлы в /administrator/component/catx/
<files folder="backend">
<filename>install.mysql.utf8.sql</filename>
<filename>uninstall.mysql.utf8.sql</filename>
</files>

Языковой файл для пользовательской части, будет скопирован в /administrator/language и далее в поддиректорию указанную в tag
<languages folder="languages-admin">
<language tag="ru-RU">ru-RU.com_catx.ini</language>
</languages>
</administration>
</install>




Теперь  упаковываем наш компонент в ZIP архив. Все.  Пустышка готова. Ее уже можно установить в  Joomla!. В следующем топике начнем наполнять наш компонент.

 

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

Перед публикацией ваш комментарий должен пройти проверку Администратором.


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