Создание пакета расширений для Joomla
В Joomla есть тип расширения Package (Пакет), предназначенный для упаковки различных расширений. Бывают ситуации, когда расширение может состоят из нескольких типов расширений, например, для административной части нужен компонент, а для лицевой модуль.
Основные типы расширений для Joomla:
- component - основное расширение, служит для управления данными
- file - дополнительные файл(ы), например, может быть дополнительный контроллер для компонента.
- language - пакет локализации
- library - дополнительная библиотека для Joomla.
- module - в основном служит для вывода или обработке данных
- package - пакет
- plugin - служат для обработки различных событий в Joomla
- template - шаблон для лицевой или административной части сайта.
Для того что бы собрать расширение в один установочный пакет достаточно создать простой установочный XML файл.
В данном примере рассматривается простой установочный пакет, который состоит из плагина, модуля и компонента.
<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="package" method="upgrade">
<name>Example</name>
<author>Автор</author>
<creationDate>Дата создания</creationDate>
<copyright>©</copyright>
<license>Информация о лицензии</license>
<authorEmail>Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.</authorEmail>
<authorUrl>http://joomla-code.ru</authorUrl>
<version>1.0</version>
<description>Описание</description>
<packagename>example</packagename>
<scriptfile>example.php</scriptfile>
<files>
<file type="plugin" group="content" id="example">plg_content_example.zip</file>
<file type="component" id="example">com_example.zip</file>
<file type="module" id="example">mod_example.zip</file>
</files>
<languages folder="language">
<language tag="en-GB">en-GB/en-GB.pkg_example.sys.ini</language>
<language tag="ru-RU">ru-RU/ru-RU.pkg_example.sys.ini</language>
</languages>
</extension>
- scriptfile - установочный скрипт для пакета, если необходим.
- files - расширения, которые входят в состав пакета
- languages - локализация пакета
Здесь стоит обратить внимание на плагины, для них нужно обязательно прописывать к какой группе они принадлежат.
Фреймворк Joomla будет устанавливать каждое указанное расширение по очереди.
Структура ZIP архива пакета будет иметь следующий вид.
Для управлением пакетами расширений нужно в административной панели Joomla перейти в "Расширения" - "Менеджер расширений" - "Управление" - в фильтре выбрать тип "Пакет".
Здесь можно снять с публикации тот или иной пакет, а также деинсталлировать пакет. При удалении пакета будут удалены все расширения, которые входят в состав пакета. Если по какой-то причине расширение не удастся удалить, то об этом выведется соответствующее предупреждение.