如何在 Joomla 安装过程中自动启用插件?

Moh*_*lam 3 php joomla joomla-extensions

Joomla 有什么好方法可以在安装过程中自动启用插件吗?我遵循了帖子主题,但没有得到任何直接的解决方案。

我在安装过程中使用了以下代码来自动启用插件:

UPDATE `#__extensions` SET `enabled` = 1 WHERE `element` = 'plugin_name';
Run Code Online (Sandbox Code Playgroud)

但我想知道更好的解决方案。

/谢谢

And*_*lin 5

这是我所知道的唯一方法;下面详细介绍了可能会偶然发现此问题并试图弄清楚如何做到这一点的其他人。

将脚本文件添加到清单 (XML) 中,位于</description>标记下方:

<scriptfile>my_script.php</scriptfile>
Run Code Online (Sandbox Code Playgroud)

my_script.php:

class PlgSystemPluginnameInstallerScript
{
 public function install($parent)
 {
  // Enable plugin
  $db  = JFactory::getDbo();
  $query = $db->getQuery(true);
  $query->update('#__extensions');
  $query->set($db->quoteName('enabled') . ' = 1');
  $query->where($db->quoteName('element') . ' = ' . $db->quote('PLUGIN_NAME_GOES_HERE'));
  $query->where($db->quoteName('type') . ' = ' . $db->quote('plugin'));
  $db->setQuery($query);
  $db->execute();
 }
}
Run Code Online (Sandbox Code Playgroud)

提示:如果是内容插件,替换PlgSystemPluginnameInstallerScript为PlgContentPluginnameInstallerScript.