我在Joomla 3中创建了一个包含模块和插件的包。它正确安装了模块和插件,但默认情况下禁用插件。有没有办法在默认情况下启用插件 - 也许在包的xml清单中?我无法弄清楚这一点。
答案 0 :(得分: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
找到我的工作示例答案 1 :(得分:0)
我认为最好的方法是在安装后运行一个sql语句,按ID获取插件并将其状态从0更改为1