Joomla 1.5のカスタムコンポーネントとルートプラグインを作成して、コンポーネントのSEO URLと、メニューに関連付けられていない記事やカテゴリを提供しました。次に、コンポーネントとルートプラグインを別々にインストールする必要があります。両方を1つのパッケージにインストールする方法はありますか?
前もって感謝します!Vojtech
Joomla 1.5のカスタムコンポーネントとルートプラグインを作成して、コンポーネントのSEO URLと、メニューに関連付けられていない記事やカテゴリを提供しました。次に、コンポーネントとルートプラグインを別々にインストールする必要があります。両方を1つのパッケージにインストールする方法はありますか?
前もって感謝します!Vojtech
より簡単な方法があります。
パッケージとは何ですか?
パッケージは、一度に複数の拡張機能をインストールするために使用される拡張機能です。
パッケージを作成するにはどうすればよいですか?
パッケージ拡張機能は、拡張機能のすべてのzipファイルをxmlマニフェストファイルと一緒に圧縮することによって作成されます。たとえば、次の要素で構成されるパッケージがある場合:
パッケージには、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>
Joomla にインストールされた拡張機能がイベント「com_yourcomponent_install()」をトリガーすると、xml ファイルで言及したインストール ファイルがトリガーされます。
プラグインフォルダーのパスを取得してインストールする関数 com_yourcomponent_install を記述します
$installer = new JInstaller();
// Install the packages
$installer->install($pluginPath);
例えば
この関数には次のコードが含まれます
$installer = 新しい JInstaller(); // パッケージをインストールします $installer->install($pluginPath);