3

joomlainstall.xmlファイルで、インストール時に実行されるSQLを書くことは可能ですか? または、他の方法でこのトリックを行いますか?ポイントは、カスタム認証プラグインを作成したことであり、既存のものを無効化/置換/削除する必要があります。

4

1 に答える 1

3

外部SQLファイルを使用して、インストール時に実行させることができます。

1.プラグインルートに次のようなコンテンツを含むSQLファイルinstall.mysql.utf8.sqlを作成します。

CREATE TABLE IF NOT EXISTS `#__tablename` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

2. XMLマニフェストで、ファイルをファイルの下のファイル名ノードとして追加ます

<files>
    <filename>install.mysql.utf8.sql</filename>
</files>

3.マニフェストにインストールノードを追加して、インストール時に実行するSQLファイルをJoomlaに指示します。

<install>
    <sql>
        <file driver="mysql" charset="utf8">install.mysql.utf8.sql</file>
    </sql>
</install>

これを使用してプラグインをインストールし、それが新規インストールである場合(プラグインは以前にサイトにインストールされていません)、JoomlaはSQLファイルを実行します。

プラグインのアップグレード(再インストール)でSQLを実行する必要がある場合は、更新ノードを使用する必要があります。

SQLファイルの代わりに、インストール/更新時に実行されるPHPスクリプト(SQLクエリ自体を実行できます)を使用することもできます。それに関するヘルプについては、これを参照してください。

于 2012-10-05T11:13:13.137 に答える