Joomla插件安装文件

时间:2012-10-05 09:51:03

标签: joomla joomla2.5

是否有可能在joomla install.xml文件中编写一些sql,这将在安装时执行?或者其他方式做这个伎俩?关键是我已经编写了自定义授权插件 - 我必须禁用/替换/删除现有插件。

1 个答案:

答案 0 :(得分: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-manifest中,将文件添加为文件下的 filename 节点:

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

3。在清单中添加install node,告诉Joomla在安装时要执行哪个SQL文件:

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

如果您使用此安装插件并且它是新安装(该插件之前尚未安装该插件),那么Joomla将执行SQL文件。

如果您需要在升级(重新安装)插件时执行SQL,则必须使用update节点。

SQL文件的替代方法是在安装/更新时使用PHP脚本(可以自己运行SQL查询)。如需帮助,请参阅this