2011-12-17 3 views
2

J'ai créé un composant personnalisé et un plugin de routage pour Joomla 1.5 afin de fournir des URL SEO pour mon composant ainsi que des articles et des catégories qui ne sont pas liés au menu. Maintenant, je dois installer mon composant et mon routage séparément. Y at-il un moyen d'installer les deux dans un paquet s'il vous plaît?Comment installer le composant et le routage en un paquet?

Merci d'avance! Vojtech

Répondre

4

Lorsqu'une extension est installée, Joomla déclenche un événement 'com_yourcomponent_install()' dans votre fichier d'installation, que vous avez mentionné dans le fichier XML.

écrire un com_yourcomponent_install de fonction dans laquelle obtenir le chemin du dossier plugin et l'installer

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

Par exemple

  1. dans votre fichier xml install.mycomponent.php
  2. et installer. mycomponent.php il devrait y avoir une fonction com_mycomponent_install()
  3. cette fonction contiendra le code

    $ installer = new JInstaller(); // Installer les paquets $ installer-> install ($ pluginPath);

+0

merci. C'est ce que je cherchais depuis deux jours. – Robot

5

Il existe une méthode plus simple.

Qu'est-ce qu'un paquet?

Un package est une extension utilisée pour installer plusieurs extensions en une fois.

Comment créer un package?

Une extension de package est créée en compressant tous les fichiers zip des extensions avec un fichier manifeste XML. Par exemple, si vous avez un paquet composé par:

  • composant helloworld
  • Module helloworld
  • helloworld bibliothèque
  • plugin système
  • helloworld
  • modèle
  • helloworld

Le package doit avoir les l'arbre suivant dans votre fichier zip:

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

Le pkg_helloworld.xml pourrait avoir le contenu suivant:

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

Les paquets sont disponibles depuis la version 1.6, alors que la question a été taguée avec Joomla 1.5, donc les futurs lecteurs devraient noter qu'ils ne peuvent pas installer plusieurs composants, plugins, modules, etc. en un seul paquet s'ils utilisent Joomla 1.5 . –

Questions connexes