相关代码:
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false);
...
<input type="hidden" name="controller" value="EasyBlogController">
根据我可以从文档中挖掘的内容和我自己之前的问题,这应该在EasyBlogController
中调用saveCategories()
函数。 我尝试将值设置为 easyblog
、easyblog.php
(文件名)以及当前EasyBlogController
(类名)。
单击"保存"按钮仅刷新页面。 它不会重定向、echo
或var_dump
我在saveCategories()
函数中放入的任何测试代码。 var_dump
JRequest::getVar('controller')
,'task'
返回正确的值。 创建一个控制器对象,然后使用$controller->execute('task');
就可以了。
您要查找的值显然取决于您尝试调用的控制器的位置,这里有几个选项。通常,组件(可能是组件/com_easyblog)的基本文件夹中有一个控制器,该控制器位于名为 Controller 的文件中.php其中的类名将是 EasyBlogController。
还可能存在一个控制器文件夹(组件/com_easyblog/控制器),其中包含特定视图的控制器。通常在这种情况下,你会有一个名为"something.php"的文件,而类将是"EasyBlogControllerSomething"。对于此选项,您将使用以下方法调用此控制器的 saveCategory 函数:
JToolBarHelper::custom('Something.saveCategories', 'save', '', 'Save', false, false);
否则,如果您只想要基本控制器,请不要指定控制器,因为系统将默认为控制器.php文件。如以下:
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false); //no hidden input after this
如果要设置默认控制器以外的控制器,请将此 html 添加到视图中:
<input type="hidden" name="controller" value="controllerNameHere"/>
尝试:
JToolBarHelper::custom('EasyBlogController.saveCategories', 'save', '', 'Save', false, false);
但请确保您的控制器名为 EasyBlogController.php并且具有一个名为 saveCategories() 的函数