2013-11-20 38 views

回答

4

正如@lodder已经提到的,你可以写你的安装脚本像

public function install ($parent) 
{ 
    $query = "update `#__extensions` set enabled=1 where type = 'plugin' and element = 'your-extension'"; 
    $db = JFactory::getDBO(); 
    $db->setQuery($query); 
    $db->query(); 

    // Probably you want to enable the module on all pages too 
    $query = "insert into `#__modules_menu` (menuid, moduleid) select 0 as menuid, id as moduleid from `#__modules` where module like 'mod_my-awesome-menu%'"; 
    $db->setQuery($query); 
    $db->query(); 
} 

你可以找到我在这里工作的例子https://github.com/Digital-Peak/DPAttachments/blob/master/com_dpattachments/script.php#L15

0

我认为最好的办法是安装运行后,一个SQL语句,通过ID获取插件和从0更改其状态为1

+0

我在哪里把SQL语句?它进入'modules/mod_mymodule/sql/sqlfile.sql'吗? – user1448031

+0

您可以在安装时运行sql文件,也可以通过postflight函数中的script.php来执行此操作。请阅读以下内容:http://docs.joomla.org/J2.5:Managing_Component_Updates_%28Script.php%29#postflight – Lodder