2

Joomla 1.5のカスタムコンポーネントとルートプラグインを作成して、コンポーネントのSEO URLと、メニューに関連付けられていない記事やカテゴリを提供しました。次に、コンポーネントとルートプラグインを別々にインストールする必要があります。両方を1つのパッケージにインストールする方法はありますか?

前もって感謝します!Vojtech

4

2 に答える 2

6

より簡単な方法があります。

パッケージとは何ですか?

パッケージは、一度に複数の拡張機能をインストールするために使用される拡張機能です。

パッケージを作成するにはどうすればよいですか?

パッケージ拡張機能は、拡張機能のすべての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>
于 2013-01-16T07:51:02.573 に答える
4

Joomla にインストールされた拡張機能がイベント「com_yourcomponent_install()」をトリガーすると、xml ファイルで言及したインストール ファイルがトリガーされます。

プラグインフォルダーのパスを取得してインストールする関数 com_yourcomponent_install を記述します

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

例えば

  1. あなたのxmlファイルで install.mycomponent.php
  2. install.mycomponent.php には関数 com_mycomponent_install() が必要です
  3. この関数には次のコードが含まれます

    $installer = 新しい JInstaller(); // パッケージをインストールします $installer->install($pluginPath);

于 2011-12-23T08:18:22.690 に答える