2016-08-17 76 views
1

我创建了我的第一个Joomla 3.6.2组件,一切正常 - 直到一件事。保存并返回按钮重定向到错误的模板

我点击概览模板中的链接并重新编辑视图。现在,如果我点击后退按钮或保存按钮,他将我重定向到一个名称不存在的模板名称任何地方(搜索整个项目文件夹)。

当我点击它们时,它似乎是我的浏览器重定向到它的单数字....编辑上的视图名称是“女士们”,他点击后使用“女士”....

任何想法?

回答

1

Joomla默认在单数和复数名称之间切换。

当您处于编辑视图并点击'保存'或'取消'按钮时,joomla会尝试将您重定向到列表视图,并自动将's'添加到您的视图名称。

您可以在控制器文件中覆盖默认的“保存”和“取消”方法。

public function save($key = null, $urlVar = null) { 
    $return = parent::save($key, $urlVar); 
    $this->setRedirect(JRoute::_('index.php?option=com_helloword')); 
    return $return; 
} 

public function cancel($key = null, $urlVar = null) { 
    $return = parent::cancel($key, $urlVar); 
    $this->setRedirect(JRoute::_('index.php?option=com_helloword')); 
    return $return; 
} 

请看看这篇文章。 https://stackoverflow.com/a/16113039/5088581

+0

我加了段到每一个文件一次,我建议有什么关系呢....什么都不会发生(或课程的误差) 我最大的想法是admin /视图/的HelloWorld/TMPL/view.html。 PHP的?它是否正确?我在上面添加它,一次在工具栏调用...没有任何事情发生 – dessi

+0

尝试在/ admin/controllers /为你的视图创建控制器文件。 https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_backend_actions 这段代码应该在控制器类 –

+0

我将你的代码片段添加到admin/controllers/edit.php中并编辑view.html.php中的工具栏方法在JToolBarHelper :: save(“edit.save'); - 现在它说:调用未定义的方法JControllerAdmin :: save()[...] \ controllers \ edit.php:/ – dessi