Joomla包:默认情况下如何启用插件?
我在Joomla3中创建了一个包,其中包括一个模块和一个插件。它正确安装了模块和插件,但默认情况下该插件被禁用。有没有一种方法可以使插件在默认情况下处于启用状态——可能是在包的xml清单中?我无法理解这一点。我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1正如@lodder已经提到的那样可以像这样编写安装脚本Joomla包:默认情况下如何启用插件?,joomla,joomla-extensions,joomla3.0,Joomla,Joomla Extensions,Joomla3.0,我在Joomla3中创建了一个包,其中包括一个模块和一个插件。它正确安装了模块和插件,但默认情况下该插件被禁用。有没有一种方法可以使插件在默认情况下处于启用状态——可能是在包的xml清单中?我无法理解这一点。我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1正如@lodder已经提到的那样可以像这样编写安装脚本 public function install ($parent) {
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();
}
您可以在这里找到我的工作示例,正如@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();
}
您可以在这里找到我的工作示例我将SQL语句放在哪里?它是否包含在
模块/mod_mymodule/sql/sqlfile.sql
中?您可以在安装时运行sql文件,也可以通过postflight
函数中的script.php来运行。读一读:我应该把SQL语句放在哪里?它是否包含在模块/mod_mymodule/sql/sqlfile.sql
中?您可以在安装时运行sql文件,也可以通过postflight
函数中的script.php来运行。读一读: