Создание пакета расширений для 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>somebox@in.ru</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 перейти в "Расширения" - "Менеджер расширений" - "Управление" - в фильтре выбрать тип "Пакет".
Здесь можно снять с публикации тот или иной пакет, а также деинсталлировать пакет. При удалении пакета будут удалены все расширения, которые входят в состав пакета. Если по какой-то причине расширение не удастся удалить, то об этом выведется соответствующее предупреждение.
Пример использования пакета можно посмотреть на простом расширении related articles
6