2011-12-17 4 views
2

Я создал пользовательский компонент и плагин маршрута для Joomla 1.5 для предоставления URL-адресов SEO для моего компонента, а также статей и категорий, которые не связаны с меню. Теперь я должен установить отдельный компонент и плагин маршрута отдельно. Есть ли способ установить оба в одном пакете, пожалуйста?Как установить плагин компонента и маршрута в один пакет?

Спасибо заранее! Vojtech

ответ

4

Если какое-либо расширение установлено, Joomla запускает событие «com_yourcomponent_install()» в ваш установочный файл, о котором вы упомянули в XML-файле.

написать функцию com_yourcomponent_install, в котором получить путь папку плагинов и установить его

$installer = new JInstaller(); 
// Install the packages 
$installer->install($pluginPath); 

Например

  1. в вас файл XML install.mycomponent.php
  2. и в установке. mycomponent.php должна быть функция com_mycomponent_install()
  3. эта функция будет содержать код

    $ installer = new JInstaller(); // Установка пакетов $ installer-> install ($ pluginPath);

+0

спасибо. Это то, что я искал два дня. – Robot

5

Существует более простой способ.

Что такое пакет?

Пакет является расширением, которое используется для установки нескольких расширений за один раз.

Как создать пакет?

Расширение пакета создается путем zip всех zip-файлов расширений вместе с файлом манифеста xml. Например, если у вас есть пакет, сочиненную:

  • компонент HelloWorld
  • модуль HelloWorld
  • библиотека HelloWorld
  • система плагин HelloWorld
  • шаблон HelloWorld

Пакет должен иметь следующее дерево в вашем zip-файле:

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

pkg_helloworld.xml может иметь следующее содержание:

<?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> 
+3

Пакеты доступны с версии 1.6, тогда как вопрос был помечен Joomla 1.5, поэтому будущие читатели должны заметить, что они могут не иметь возможности устанавливать несколько компонентов, плагинов, модулей и т. Д. За один раз, используя один пакет, если они используют Joomla 1.5 , –

 Смежные вопросы

  • Нет связанных вопросов^_^