Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla包:默认情况下如何启用插件?_Joomla_Joomla Extensions_Joomla3.0 - Fatal编程技术网

Joomla包:默认情况下如何启用插件?

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) {

我在Joomla3中创建了一个包,其中包括一个模块和一个插件。它正确安装了模块和插件,但默认情况下该插件被禁用。有没有一种方法可以使插件在默认情况下处于启用状态——可能是在包的xml清单中?我无法理解这一点。

我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1

我认为最好的方法是在安装后运行sql语句,按ID获取插件,并将其状态从0更改为1

正如@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();
}

您可以在这里找到我的工作示例

,正如@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来运行。读一读: