Пакетная установка расширений Joomla

  • 10.01.2014

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

Для чего нужен пакет установки Joomla?

Сейчас расширения Joomla обычно состоят из набора расширений: модули, плагины, компоненты, библиотеки. Устанавливать весь этот набор по отдельности не удобно, гораздо проще загрузить один архив в инсталлятор Joomla, а он уже все установит, так как надо. Собственно для этого и были придуманы пакеты. Обычно они обозначаются как pkg_ .

Теперь маленькая ремарка. Раньше я воспринимал, установочный пакет, только с точки зрения удобной установки расширений Joomla, с сегодняшнего дня я его еще и воспринимаю, как инструмент удобного удаления расширений Joomla.

Дальше будет немного официальной документации с моими комментариями.

Представим, что у нас есть директория с расширениями:

 -- pkg_helloworld.xml
 -- packages <dir>
   |-- com_helloworld.zip
   |-- mod_helloworld.zip
   |-- lib_helloworld.zip
   |-- plg_sys_helloworld.zip
   |-- tpl_helloworld.zip

Над ней мы кладем фаил pkg_helloworld.xml - helloworld - это имя пакета, в котором и содержится вся информация по установке расширения.

 <?xml version="1.0" encoding="UTF-8" ?>
 <extension type="package" version="1.6">
 <name>Hello World Package</name>
 <author>Hello World Package Team</author>
 <creationDate>May 2012</creationDate>
 <packagename>helloworld</packagename>
 <version>1.0.0</version>
 <url>http://www.yoururl.com/</url>
 <packager>Hello World Package Team</packager>
 <packagerurl>http://www.yoururl.com/</packagerurl>
 <description>Example package to combine multiple extensions</description>
 <update>http://www.updateurl.com/update</update>
 <files folder="packages">
   <file type="component" id="helloworld" >com_helloworld.zip</file>
   <file type="module" id="helloworld" client="site">mod_helloworld.zip</file>
   <file type="library" id="helloworld">lib_helloworld.zip</file>
   <file type="plugin" id="helloworld" group="system">plg_sys_helloworld.zip</file>
   <file type="template" id="helloworld" client="site">tpl_helloworld.zip</file>
 </files>
 </extension>

Вот так выглядит фаил pkg_helloworld.xml

Что в этом файле важно?

<extension type="package" version="1.6"> - это тип расширения пакет.

<packagename>helloworld</packagename> - собственно само название пакета оно должно совпадать с названием файла pkg_helloworld.xml, то есть правильное название helloworld.

Теперь перейдем к самому телу пакета установки:

 <files folder="packages">
   <file type="component" id="helloworld" >com_helloworld.zip</file>
   <file type="module" id="helloworld" client="site">mod_helloworld.zip</file>
   <file type="library" id="helloworld">lib_helloworld.zip</file>
   <file type="plugin" id="helloworld" group="system">plg_sys_helloworld.zip</file>
   <file type="template" id="helloworld" client="site">tpl_helloworld.zip</file>
 </files>

На что тут стоит обратить внимание:

<files folder="packages"> - если папка с расширениями называется "packages", если она называется по другом, то следовательно название надо изменить, если же ее нет, xml установки лежит в одном уровне с расширениями для установке то вся конструкция будет выглядеть вот так:

 <files>
   <file type="component" id="helloworld" >com_helloworld.zip</file>
   <file type="module" id="helloworld" client="site">mod_helloworld.zip</file>
   <file type="library" id="helloworld">lib_helloworld.zip</file>
   <file type="plugin" id="helloworld" group="system">plg_sys_helloworld.zip</file>
   <file type="template" id="helloworld" client="site">tpl_helloworld.zip</file>
 </files>

Теперь об самих расширениях:

<file type="component" id="helloworld" >com_helloworld.zip</file>

Обязательно надо указать тип расширения "type" - в данном примере этот тип это "component".

Так же следует указать id расширения, его вы можете найти в xml самого расширения, которое устанавливаете.

Специфические параметры для плагинов:

Для плагинов требуется указать группу расширения group="system".

После того как вы все сделали правильно, вы можете как установить все расширения одной операцией, так и удалить все установленные расширения, удалив просто пакет установки расширения.

Вадим Куницын
Россия , Калининград , 33 года

Комментарии  

mr_denisters
0 # mr_denisters 02.08.2014 15:19
Добрый день, подскажите как добавить в пакет расширения от nonumber (sourcerer, modulesanywhere)?
Вадим Куницын
-2 # Вадим Куницын 02.08.2014 18:18
Создаете Xml как указано в статье. Между тегами:


Прописываете ссылки на файлы, указывая их тип.
Но вообще если честно осмысленность, такой сборки под вопросом, если вы не разработчик расширений.
mr_denisters
0 # mr_denisters 03.08.2014 22:02
Вот именно что я не разработчик расширений, а пакет собираю что бы упростить себе жизнь и я не знаю к какому типу отнести расширения от нонамбер???
Загляните в архив sourcerer, или modulesanywhere и все поймете.
Так же стоить отметить, что при необходимости установить русскую локализацию можно указывать тип "language" и все прекрасно становится на свои места.
Для того, чтоб оставить комментарий, авторизуйтесь через социальные сети.

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Скачать Joomla! 3.9.4 Документация Joomla! CMS Свернуть

Расширения Joomla

Новости портала

Новое в блогах