我的表单目前有一个保存按钮,但没有应用按钮。我试图插入一个,但它与保存相同。有任何想法吗?这是代码:
<div class="formelm-buttons">
<button type="button" onclick="Joomla.submitbutton('propform.save')">
<?php echo JText::_('JSAVE') ?>
</button>
<button type="button" onclick="Joomla.submitbutton('propform.cancel')">
<?php echo JText::_('JCANCEL') ?>
</button>
</div>
答案 0 :(得分:0)
简而言之:
从保存功能中删除$this->setRedirect($this->getReturnPage());
。
适用的原因适用:
所以这是你评论中的功能:
public function save($key = null, $urlVar = 'id')
{
$result = parent::save($key, $urlVar); // If ok, redirect to the return page.
if ($result) {
$this->setRedirect($this->getReturnPage());
}
return $result;
}
我理解这个函数放在一个扩展JControllerForm的控制器中。 现在,这是非常糟糕的文档,但是: JControllerForm :: save($ key,$ urlVar)将为您设置重定向。
这意味着当您运行$this->setRedirect($this->getReturnPage());
时,您将覆盖JControllerForm已经为您完成的操作。 save 和 apply 之间的区别在于成功保存后的重定向位置。
因此,如果删除 setRedirect ,则应该开始工作(如果其他一切都正常)。此外,如果您正确构造了此保存的表,则将为您设置$ urlVar参数。因此,如果是这种情况,则根本不需要覆盖 save 。