【问题标题】:Call Custom function in joomla plugin by url.通过 url 在 joomla 插件中调用自定义函数。
【发布时间】:2016-05-18 13:51:24
【问题描述】:

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

【问题讨论】:

    标签: ajax plugins joomla joomla3.0


    【解决方案1】:

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

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

    这导致:

    function onAfterInitialise() {
      $jinput = JFactory::getApplication()->input;   
    
      if($jinput->get('type')=='mymethod') {
    
        // your code here
    
      }
    
    }
    

    【讨论】:

    • 但是这种方法可能使自定义函数可供所有人从 url 调用???
    【解决方案2】:

    链接正常。您只需要将文件夹名称从 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;
    }
    

    按照那里给出的休息说明进行操作。

    【讨论】:

      猜你喜欢
      • 2015-01-09
      • 2022-11-03
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 2011-12-25
      • 1970-01-01
      相关资源
      最近更新 更多