我的组件编辑页面中有三个工具栏按钮(joomla 3.0)。
view.html.php
protected function addToolBar()
{
JToolBarHelper::apply('editpage.apply');
JToolBarHelper::save('editpage.save');
JToolBarHelper::cancel('editpage.cancel');
}
这很有效。但现在当我在控制器中更改我的save方法的重定向路径时,就像这样...
控制器/ editpage.php
function save()
{
parent::save();
$this->setredirect(JRoute::_('index.php?option=com_mycom&view=productlist', false));
}
...而不是点击"应用",用户也被重定向到此路径。这就是问题所在。如果没有控制器中的覆盖方法,则应用按钮可正常工作。将保存所有字段,编辑页面不会离开。那么我该如何解决这个问题呢?
答案 0 :(得分:1)
Save和apply方法调用joomla库的相同功能来保存记录。解决问题的更好方法是
<强> view.html.php 强>
protected function addToolBar()
{
JToolBarHelper::apply('editpage.tasktoApply'); // any name other then apply
JToolBarHelper::save('editpage.tasktoSave'); // any name other then save
JToolBarHelper::cancel('editpage.cancel');
}
<强>控制器/ editpage.php 强>
function tasktoApply()
{
parent::save();
$this->setredirect('ANY CUSTOM REDIRECT AS PER YOUR NEED', false));
}
function tasktoSave()
{
parent::save();
$this->setredirect('ANY CUSTOM REDIRECT AS PER YOUR NEED', false));
}
这会解决你的问题