我试图了解几个星期以来JtoolBarHelper方法是如何工作的。
您可以在此视图类中看到调用的方法:
JToolBarHelper::addNew('controllername.methodname');
这里,JToolBarHelper的addNew方法使用如下:
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方法:
返回new JToolBar($name);
。我也投保了检查构造函数。但无处可以找到addNew()方法参数是如何分开的,即。 Joomla如何知道点之前的名称是控制器名称,后面的名称是其方法名称。
我还查看了Joomla.submmitbutton('controllername.methodname');
的javascript代码,但找不到。
所以,我的问题是传递给JToolBarHelper方法的参数如何知道它是点之前的控制器名称?
答案 0 :(得分:0)
此控制器拆分由Joomla核心控制器文件处理。文件路径因版本而异。
JControllerLegacy将在libraries/joomla/controller/legacy.php
,libraries/cms/controller/legacy.php
或libraries/legacy/controller/legacy.php
中定义。最新的Joomla版本。
旧版本使用/libraries/joomla/application/component/controller.php
希望,这很有意义!