Создание компонента Joomla
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2435
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2451
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2456
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2461
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2467
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2479
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2496
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2497
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2498
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2499
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2517
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2518
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2519
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2520
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2550
Материал из Newman's WiKi.
Версия 11:41, 11 декабря 2008 WikiSysop (Обсуждение | вклад) (→Файл установки) ← К предыдущему изменению |
Текущая версия WikiSysop (Обсуждение | вклад) (→Файл установки) |
||
Строка 8: | Строка 8: | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
- | <install type="component" version="1.0.0"> | + | <install type="component" version="1.5.0"> |
<name>Component Name</name> | <name>Component Name</name> | ||
<author>Alex Newman</author> | <author>Alex Newman</author> | ||
Строка 27: | Строка 27: | ||
<files> | <files> | ||
<file>index.html</file> | <file>index.html</file> | ||
+ | <filename>component.php</file> | ||
+ | </files> | ||
+ | </pre> | ||
+ | |||
+ | Есть возможность целиком указывать каталог с файлами для установки. | ||
+ | <pre> | ||
+ | <files> | ||
+ | <folder>views</folder> | ||
</files> | </files> | ||
</pre> | </pre> | ||
Строка 42: | Строка 50: | ||
</administration> | </administration> | ||
</pre> | </pre> | ||
- | |||
Эта секция описывает файлы, используемые в контрольной панели и описывает меню, которое будет добавлено в основное меню в раздел "Компоненты" (Components) | Эта секция описывает файлы, используемые в контрольной панели и описывает меню, которое будет добавлено в основное меню в раздел "Компоненты" (Components) | ||
+ | |||
+ | Если при установке компонента нужно создать таблицы или произвести какие-то операции с базой данных, то можно использовать следующую секцию. | ||
+ | <pre> | ||
+ | <install> | ||
+ | <queries> | ||
+ | <query> | ||
+ | CREATE TABLE IF NOT EXISTS `#__helloworld` ( | ||
+ | `id` int(11) NOT NULL default '0', | ||
+ | ....... | ||
+ | PRIMARY KEY (`id`) | ||
+ | ) TYPE=MyISAM; | ||
+ | </query> | ||
+ | </queries> | ||
+ | </install> | ||
+ | </pre> | ||
+ | |||
+ | Так же можно использовать инструкции из внешнего файла. | ||
+ | <pre> | ||
+ | <install> | ||
+ | <sql> | ||
+ | <file driver="mysql">install.mysql.sql</file> | ||
+ | </sql> | ||
+ | </install> | ||
+ | </pre> | ||
+ | |||
+ | Аналогично секции '''install''' существует секция '''uninstall''' предназначенная для указания запросов, которые выполняются при удалении компонента. | ||
+ | |||
+ | Запросов может быть любое количество. При обращениее к таблицам нужно использовать префик '''#__'''. При исполнении запроса он будет заменяться на системный префикс (по умолчанию "jos_"). Это справедливо не только для установочного файла но и для любого кода исполняемого внутри [[Joomla]] | ||
+ | |||
+ | В секции '''languages''' указываются файлы с переводом. | ||
+ | <pre> | ||
+ | <languages> | ||
+ | <language tag="en-GB">en-GB.com_helloworld.ini</language> | ||
+ | <language tag="ru-RU">ru-RU.com_helloworld.ini</language> | ||
+ | </languages> | ||
+ | </pre> | ||
+ | |||
+ | ''Примечание:'' Для многих секций, в которых описаны файлы можно использовать параметр '''folder'''. С его помощью можно указать папку в архиве - источник файлов. Это особо актуально когда файлы для пользовательской и для админской части имеют одинаковые названия. | ||
+ | <pre> | ||
+ | <files folder="admin"> | ||
+ | <file>index.html</file> | ||
+ | </files> | ||
+ | </pre> | ||
== Файлы и каталоги == | == Файлы и каталоги == | ||
+ | == Поддержка нескольких языков == | ||
+ | Joomla 1.5 имеет встроенную поддержку многоязычности. Подробней: [[Локализация Joomla]] | ||
[[Категория:Joomla]] | [[Категория:Joomla]] |
Текущая версия
Содержание |
Общая информация
Основную роль в Joomla помимо ядра выполняют компоненты. Компонент представляет собой набор файлов отвечающих за бизнес-логику и за отображение. Устанавливаются компоненты, как правило, в виде загружаемого ZIP файла. На сервере файл распаковывается и устанавливается согласно правил прописаных в файле установки.
Файл установки
Файл установки является текстовым файлом формата XML, с прописаными действиями необходимыми при установе и при удалении компонента. Будем рассматривать синтаксис файла для Joomla версии 1.5.x
В самом общем виде файл имеет следующий вид
<?xml version="1.0" encoding="utf-8"?> <install type="component" version="1.5.0"> <name>Component Name</name> <author>Alex Newman</author> <creationDate>October 2008</creationDate> <copyright>Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.</copyright> <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license> <authorEmail>newman-msk@yandex.ru</authorEmail> <authorUrl>www.pws.ru</authorUrl> <version>1.5.0</version> <description>This string with project descriptiton</description> </install>
Дополнительные секции добавляются внутри раздела install
Так добавляются файлы для frontend
<files> <file>index.html</file> <filename>component.php</file> </files>
Есть возможность целиком указывать каталог с файлами для установки.
<files> <folder>views</folder> </files>
Для контрольной панели есть секция.
<administration> <menu>My Component</menu> <submenu> <menu task="task1">Submenu1</menu> </submenu> <files> <file>index.html</file> </files> </administration>
Эта секция описывает файлы, используемые в контрольной панели и описывает меню, которое будет добавлено в основное меню в раздел "Компоненты" (Components)
Если при установке компонента нужно создать таблицы или произвести какие-то операции с базой данных, то можно использовать следующую секцию.
<install> <queries> <query> CREATE TABLE IF NOT EXISTS `#__helloworld` ( `id` int(11) NOT NULL default '0', ....... PRIMARY KEY (`id`) ) TYPE=MyISAM; </query> </queries> </install>
Так же можно использовать инструкции из внешнего файла.
<install> <sql> <file driver="mysql">install.mysql.sql</file> </sql> </install>
Аналогично секции install существует секция uninstall предназначенная для указания запросов, которые выполняются при удалении компонента.
Запросов может быть любое количество. При обращениее к таблицам нужно использовать префик #__. При исполнении запроса он будет заменяться на системный префикс (по умолчанию "jos_"). Это справедливо не только для установочного файла но и для любого кода исполняемого внутри Joomla
В секции languages указываются файлы с переводом.
<languages> <language tag="en-GB">en-GB.com_helloworld.ini</language> <language tag="ru-RU">ru-RU.com_helloworld.ini</language> </languages>
Примечание: Для многих секций, в которых описаны файлы можно использовать параметр folder. С его помощью можно указать папку в архиве - источник файлов. Это особо актуально когда файлы для пользовательской и для админской части имеют одинаковые названия.
<files folder="admin"> <file>index.html</file> </files>
Файлы и каталоги
Поддержка нескольких языков
Joomla 1.5 имеет встроенную поддержку многоязычности. Подробней: Локализация Joomla