JToolBarHelper 方法如何工作?
How does JToolBarHelper method work?
几周来我一直在努力了解 JtoolBarHelper 方法的工作原理。
您可以在视图 class 中看到调用的方法,如下所示:
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 方法:
它returns new JToolBar($name);
。我还确保检查构造函数。但是在任何地方我都找不到 addNew() 方法参数是如何分离的。 Joomla 如何知道点之前的名称是控制器名称,之后的名称是它的方法名称。
我也用 javascript 代码检查了 Joomla.submmitbutton('controllername.methodname');
但找不到。
所以,我的问题是传递给 JToolBarHelper 方法的参数如何知道它是点前的控制器名称?
此控制器拆分由 Joomla 核心控制器文件处理。文件路径因版本而异。
JControllerLegacy 将在 libraries/joomla/controller/legacy.php
、libraries/cms/controller/legacy.php
或 libraries/legacy/controller/legacy.php
中定义。在最新的 Joomla 版本中。
使用旧版本/libraries/joomla/application/component/controller.php
希望,有道理!
几周来我一直在努力了解 JtoolBarHelper 方法的工作原理。
您可以在视图 class 中看到调用的方法,如下所示:
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 方法:
它returns new JToolBar($name);
。我还确保检查构造函数。但是在任何地方我都找不到 addNew() 方法参数是如何分离的。 Joomla 如何知道点之前的名称是控制器名称,之后的名称是它的方法名称。
我也用 javascript 代码检查了 Joomla.submmitbutton('controllername.methodname');
但找不到。
所以,我的问题是传递给 JToolBarHelper 方法的参数如何知道它是点前的控制器名称?
此控制器拆分由 Joomla 核心控制器文件处理。文件路径因版本而异。
JControllerLegacy 将在 libraries/joomla/controller/legacy.php
、libraries/cms/controller/legacy.php
或 libraries/legacy/controller/legacy.php
中定义。在最新的 Joomla 版本中。
使用旧版本/libraries/joomla/application/component/controller.php
希望,有道理!