通过 url 调用 joomla 插件中的自定义函数。

Call Custom function in joomla plugin by url.

我在joomla中创建了一个系统插件,并创建了一个自定义方法,即mymethod()。现在我想通过 ajax 调用这个方法。我试过 但它会创建新的 ajax 插件,但我想调用系统插件自定义方法而不是创建新插件。

您可以使用插件系统事件onAfterInitialise()

将此 url 用于 ajax:index.php?type=mymethod

这导致:

function onAfterInitialise() {
  $jinput = JFactory::getApplication()->input;   

  if($jinput->get('type')=='mymethod') {

    // your code here

  }

}

link 没问题。您只需要将文件夹名称从 ajax 更改为 system.在 joomla 3.4 之前,必须将您的插件放在 ajax 文件夹中,但现在您可以放在任何文件夹中。您的代码将如下所示

JPluginHelper::importPlugin('system');
$plugin     = ucfirst($input->get('plugin'));
$dispatcher = JEventDispatcher::getInstance();

try
{
    $results = $dispatcher->trigger('myMethod' . $plugin);
}
catch (Exception $e)
{
    $results = $e;
}

按照此处给出的休息说明进行操作。