2012-10-05 158 views
3

是否有可能在joomla install.xml文件中写入一些sql,这会在安装时执行?或者以其他方式做这个诡计?重点是我写了自定义授权插件 - 我必须禁用/替换/删除现有的。Joomla插件安装文件

+0

http://forum.joomla.org/viewtopic.php?f=304&t=574026这应该对你有帮助。但我认为答案是不幸的! –

回答

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.在你的清单,告诉的Joomla对研究所执行什么SQL文件添加install node allation:

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

如果你安装了这个插件,这是一个新安装(插件没有带被安装之前在网站上),然后将的Joomla执行SQL文件。

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

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

+0

是否可以做UPDATE sql? – user1692333

+0

当然,任何有效的MySQL查询。 –