2012-10-05 178 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查詢。 –