Php JToolBarHelper方法是如何工作的?

Php JToolBarHelper方法是如何工作的?,php,joomla,joomla2.5,Php,Joomla,Joomla2.5,几周来,我一直在努力理解JtoolBarHelper方法的工作原理 您可以看到在视图类中调用的方法如下: JToolBarHelper::addNew('controllername.methodname'); public static function addNew($task = 'add', $alt = 'JTOOLBAR_NEW', $check = false) { $bar = JToolBar::getInstance('toolbar'); // Add a

几周来,我一直在努力理解JtoolBarHelper方法的工作原理

您可以看到在视图类中调用的方法如下:

JToolBarHelper::addNew('controllername.methodname');
public static function addNew($task = 'add', $alt = 'JTOOLBAR_NEW', $check = false)
{
    $bar = JToolBar::getInstance('toolbar');
    // Add a new button.
    $bar->appendButton('Standard', 'new', $alt, $task, $check);
}
在这里,JToolBarHelper的addNew方法使用如下:

JToolBarHelper::addNew('controllername.methodname');
public static function addNew($task = 'add', $alt = 'JTOOLBAR_NEW', $check = false)
{
    $bar = JToolBar::getInstance('toolbar');
    // Add a new button.
    $bar->appendButton('Standard', 'new', $alt, $task, $check);
}
现在,检查JToolBar的getInstance方法:

它返回
新的JToolBar($name)。我还保证签入构造函数函数。但是我找不到addNew()方法参数是如何分开的,即Joomla如何知道点前的名称是控制器名称,点后的名称是其方法名称

我还使用javascript代码检查了Joomla.submmitbutton('controllername.methodname')但找不到


因此,我的问题是,传递到JToolBarHelper方法的参数如何知道它是点之前的控制器名称?

此控制器拆分由Joomla core控制器文件处理。文件路径因版本而异

JControllerLegacy将在
libraries/joomla/controller/legacy.php
libraries/cms/controller/legacy.php
libraries/legacy/controller/legacy.php
中定义。在最新的Joomla版本中

使用的旧版本
/libraries/joomla/application/component/controller.php


希望,这是有道理的

此控制器拆分由Joomla core控制器文件处理。文件路径因版本而异

JControllerLegacy将在
libraries/joomla/controller/legacy.php
libraries/cms/controller/legacy.php
libraries/legacy/controller/legacy.php
中定义。在最新的Joomla版本中

使用的旧版本
/libraries/joomla/application/component/controller.php


希望,这是有道理的

对不起,我已经知道了。但想知道任务是如何划分为控制器名和方法名的。您能指出执行此操作的文件吗?核心控制器路径根据不同的Joomla版本而不同,最新版本使用
libraries/legacy/controller/legacy.php
method
getInstance()
你有joomla 2.5吗?也检查一下这个路径/libraries/joomla/application/component/controller.php我不确定我不是想更新,而是想了解它是如何工作的。。。问题解决了,对不起,我已经知道了。但想知道任务是如何划分为控制器名和方法名的。您能指出执行此操作的文件吗?核心控制器路径根据不同的Joomla版本而不同,最新版本使用
libraries/legacy/controller/legacy.php
method
getInstance()
你有joomla 2.5吗?也检查一下这个路径/libraries/joomla/application/component/controller.php我不确定我不是想更新,而是想了解它是如何工作的。。。这就解决了。