質問: 拡張機能の更新時にフォルダーを削除する 次の関数を含むscript.phpを作成しました。_protected function update400() { jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); jfolder::delete(jpath_root . '/media/mod_mymodule/js'); } _この関数は、joomlaの事前定義されたpreflight()内で呼び出されます。関数が取得され、呼び出されますが、インストール時に次のエラーが発生します。_jinstaller: :install: file does not exist c:\wamp\www\tmp\install_53de639f7a0b6\400\media\js _最初はupdate400()関数からpreflight()を呼び出していたためだと思ったので、代わりにpostflight()関数から呼び出してみましたが、これは失敗しました違い。私が理解しようとしているのは、具体的にパスを定義したときにtmpフォルダを探している理由です。なぜこれが起こっているのか誰か知っていますか?
回答: 私が使う jpath_site updateメソッド内で、私には問題なく動作します。preflightはまったく使用しません。更新が失敗した場合でもファイルが削除されますが、これはおそらく望んでいないことです。 postflightが最も適切ですが、それがインストール、更新、またはそこにあるかどうかを確認する必要があります。