首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器/JToolBar在Joomla 2.5中不起作用

控制器/JToolBar在Joomla 2.5中不起作用
EN

Stack Overflow用户
提问于 2012-06-05 05:49:12
回答 2查看 1.4K关注 0票数 0

相关代码:

代码语言:javascript
复制
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false);
...
<input type="hidden" name="controller" value="EasyBlogController">

根据我从docs和我自己的previous questions,中发现的信息,这应该调用EasyBlogController中的saveCategories()函数。我已经尝试将值设置为easyblogeasyblog.php (文件名)以及当前的EasyBlogController (类名)。

单击保存按钮只会刷新页面。它不会重定向、echovar_dump我放在saveCategories()函数中的任何测试代码。var_dumping JRequest::getVar('controller')'task'确实返回了正确的值。创建一个控制器对象,然后使用$controller->execute('task');工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-07 10:59:30

您要获取的值显然取决于您试图调用的控制器的位置,这里有几个选项。通常,在组件的基本文件夹(可能是components/ controller )中有一个控制器,该控制器位于一个名为controller.php的文件中,其中的类名为EasyBlogController。

还可能有一个控制器文件夹(components/com_easyblog/ controllers ),其中包含特定视图的控制器。通常在这种情况下,您会有一个名为"something.php“的文件,并且类将是"EasyBlogControllerSomething”。对于此选项,您将使用以下代码调用此控制器的saveCategories函数:

代码语言:javascript
复制
JToolBarHelper::custom('Something.saveCategories', 'save', '', 'Save', false, false);

否则,如果您只需要基本控制器,请不要指定控制器,因为系统将默认使用controller.php文件。如下所示:

代码语言:javascript
复制
JToolBarHelper::custom('saveCategories', 'save', '', 'Save', false, false); //no hidden input after this

如果您想设置默认控制器以外的控制器,请将此html添加到视图中:

代码语言:javascript
复制
<input type="hidden" name="controller" value="controllerNameHere"/>
票数 2
EN

Stack Overflow用户

发布于 2012-06-05 22:06:00

尝试:

代码语言:javascript
复制
JToolBarHelper::custom('EasyBlogController.saveCategories', 'save', '', 'Save', false, false);

但是要确保您的控制器名为EasyBlogController.php,并且有一个名为saveCategories()的函数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10888858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档