相关代码:
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false);
...
<input type="hidden" name="controller" value="EasyBlogController">根据我从docs和我自己的previous questions,中发现的信息,这应该调用EasyBlogController中的saveCategories()函数。我已经尝试将值设置为easyblog、easyblog.php (文件名)以及当前的EasyBlogController (类名)。
单击保存按钮只会刷新页面。它不会重定向、echo或var_dump我放在saveCategories()函数中的任何测试代码。var_dumping JRequest::getVar('controller')和'task'确实返回了正确的值。创建一个控制器对象,然后使用$controller->execute('task');工作。
发布于 2012-06-07 10:59:30
您要获取的值显然取决于您试图调用的控制器的位置,这里有几个选项。通常,在组件的基本文件夹(可能是components/ controller )中有一个控制器,该控制器位于一个名为controller.php的文件中,其中的类名为EasyBlogController。
还可能有一个控制器文件夹(components/com_easyblog/ controllers ),其中包含特定视图的控制器。通常在这种情况下,您会有一个名为"something.php“的文件,并且类将是"EasyBlogControllerSomething”。对于此选项,您将使用以下代码调用此控制器的saveCategories函数:
JToolBarHelper::custom('Something.saveCategories', 'save', '', 'Save', false, false);否则,如果您只需要基本控制器,请不要指定控制器,因为系统将默认使用controller.php文件。如下所示:
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false); //no hidden input after this如果您想设置默认控制器以外的控制器,请将此html添加到视图中:
<input type="hidden" name="controller" value="controllerNameHere"/>发布于 2012-06-05 22:06:00
尝试:
JToolBarHelper::custom('EasyBlogController.saveCategories', 'save', '', 'Save', false, false);但是要确保您的控制器名为EasyBlogController.php,并且有一个名为saveCategories()的函数。
https://stackoverflow.com/questions/10888858
复制相似问题