web-dev-qa-db-ja.com

モジュールのインストール時にポストフライトを呼び出すことは可能ですか?

多くの機能よりも少し複雑な機能を実行できるモジュールを作成しています。ただし、モジュールのインストール時に、DBの変更やファイルの移動などの特定の作業を行う必要があります。

私はJoomla 3.3を使用しています。

モジュールのインストールでpostflightルーチンを実行することは可能ですか?例を示したり、ドキュメントへのリンクを示したりできますか?

ありがとう!

4
user101289

はい、これは可能であり、非常に簡単です。まず、モジュールのXMLファイルに以下を追加する必要があります。

<scriptfile>script.php</scriptfile>

そしてもちろん、これを行うには、script.phpという名前のファイル、またはそれを呼び出すファイルを作成する必要があります。上記のコードのファイル名をそれに応じて変更してください。それらのファイルに、次のコードを追加します。

<?php  
defined('_JEXEC') or die('Restricted access');

class com_helloWorldInstallerScript
{    
     function postflight($type, $parent) 
     {
           // all your code goes in here
     }
}

モジュールがインストールされた後に実行されるpostflight関数にコードを追加するだけです。 Joomlaは他に4つの組み込み関数も提供しています:

  1. インストール
  2. アンインストール
  3. プリフライト
  4. 更新

これらはまた、将来に役立つかもしれません。詳細については、こちらをご覧ください。

https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_an_install-uninstall-update_script_file

お役に立てれば

2
Lodder

はい、あなたもできるはずです。

http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_an_install-uninstall-update_script_file

http://docs.joomla.org/J2.5:Creating_a_simple_module/Adding_an_install-uninstall-update_script_file

"mod"を使用するように調整することもでき、モジュールの構成ファイルで<scriptfile>path</scriptfile>を追加するだけです(それと少し異なる場合があると思います)。

データベースとファイルの操作を行うには、JDatabaseとJFile/JFolderが必要です。

http://docs.joomla.org/Selecting_data_using_JDatabasehttp://docs.joomla.org/How_to_use_the_filesystem_package

これらはあなたが始めるのに役立つはずです。

2
Jordan Ramstad